{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import os\n",
    "os.chdir('E:\\studyingPy\\C_card\\lending_club')\n",
    "from woebin import *\n",
    "from var_filter import *\n",
    "from perf import *\n",
    "from scorecard import *\n",
    "from splitdf import *\n",
    "#from tree import *\n",
    "from tqdm import tqdm\n",
    "os.chdir('E:\\studyingPy\\C_card')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [],
   "source": [
    "#加载模型\n",
    "from sklearn.externals import joblib\n",
    "lr=joblib.load('E:\\studyingPy\\C_card\\lr.model')\n",
    "tree = joblib.load('E:\\studyingPy\\C_card\\\\tree.model')\n",
    "GBDT = joblib.load('E:\\studyingPy\\C_card\\GBDT.model')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [],
   "source": [
    "#加载验证集\n",
    "testset = pd.read_csv('E:/studyingPy/C_card/testdata.csv',index_col = 'ID')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(63532, 52)"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "testset.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['ID_NO_IDENT', 'LIMIT_BAL', 'SEX', 'EDUCATION', 'JOB_TYPE', 'MARRIAGE',\n",
       "       'ZIP_CODE', 'AGE', 'CASE_FROM', 'PAY_1', 'PAY_2', 'PAY_3', 'PAY_4',\n",
       "       'PAY_5', 'PAY_6', 'BILL_AMT1', 'BILL_AMT2', 'BILL_AMT3', 'BILL_AMT4',\n",
       "       'BILL_AMT5', 'BILL_AMT6', 'PAY_AMT1', 'PAY_AMT2', 'PAY_AMT3',\n",
       "       'PAY_AMT4', 'PAY_AMT5', 'PAY_AMT6', 'CUST_TYPE', 'LIMIT_RATE_1',\n",
       "       'LIMIT_RATE_2', 'LIMIT_RATE_3', 'LIMIT_RATE_4', 'LIMIT_RATE_5',\n",
       "       'LIMIT_RATE_6', 'REPAY_RATE_1', 'REPAY_RATE_2', 'REPAY_RATE_3',\n",
       "       'REPAY_RATE_4', 'REPAY_RATE_5', 'REPAY_RATE_6', 'ALL_MON',\n",
       "       'OVERDUE_CNT_3', 'OVERDUE_MAX_MON', 'USE_MON', 'Hrisk_rate',\n",
       "       'Mrisk_rate', 'Lrisk_rate', 'XF_CNT_M', 'XF_AMT_M', 'RZ_CNT_M',\n",
       "       'RZ_AMT_M', 'XF_AMT_CNT'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "testset.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [],
   "source": [
    "important_feature=['ID_NO_IDENT','LIMIT_RATE_2', 'CASE_FROM', 'LIMIT_RATE_6', 'JOB_TYPE', 'LIMIT_RATE_1', 'RZ_CNT_M', 'LIMIT_RATE_4', 'Mrisk_rate', 'PAY_AMT6', 'PAY_4', 'PAY_3', 'REPAY_RATE_6', 'OVERDUE_CNT_3', 'LIMIT_RATE_3', 'XF_AMT_M', 'XF_CNT_M', 'XF_AMT_CNT', 'PAY_2', 'PAY_5', 'REPAY_RATE_4', 'LIMIT_RATE_5', 'PAY_1', 'REPAY_RATE_3', 'OVERDUE_MAX_MON', 'REPAY_RATE_2', 'PAY_AMT2', 'PAY_AMT5', 'Lrisk_rate', 'RZ_AMT_M', 'PAY_AMT3', 'REPAY_RATE_5', 'ZIP_CODE', 'LIMIT_BAL', 'PAY_6', 'PAY_AMT4', 'REPAY_RATE_1', 'PAY_AMT1']\n",
    "#important_feature=['ID_NO_IDENT','LIMIT_RATE_2', 'CASE_FROM', 'LIMIT_RATE_6', 'LIMIT_RATE_1', 'RZ_CNT_M', 'LIMIT_RATE_4', 'Mrisk_rate', 'PAY_AMT6', 'PAY_4', 'PAY_3', 'REPAY_RATE_6', 'OVERDUE_CNT_3', 'LIMIT_RATE_3', 'XF_AMT_M', 'XF_CNT_M', 'XF_AMT_CNT', 'PAY_2', 'PAY_5', 'REPAY_RATE_4', 'LIMIT_RATE_5', 'PAY_1', 'REPAY_RATE_3', 'OVERDUE_MAX_MON', 'REPAY_RATE_2', 'PAY_AMT2', 'PAY_AMT5', 'Lrisk_rate', 'RZ_AMT_M', 'PAY_AMT3', 'REPAY_RATE_5', 'ZIP_CODE', 'LIMIT_BAL', 'PAY_6', 'PAY_AMT4', 'REPAY_RATE_1', 'PAY_AMT1']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [],
   "source": [
    "test = testset[important_feature]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PAY_AMT1           0.0\n",
       "PAY_AMT6           0.0\n",
       "XF_CNT_M           0.0\n",
       "XF_AMT_M           0.0\n",
       "LIMIT_RATE_3       0.0\n",
       "OVERDUE_CNT_3      0.0\n",
       "REPAY_RATE_6       0.0\n",
       "PAY_3              0.0\n",
       "PAY_4              0.0\n",
       "Mrisk_rate         0.0\n",
       "REPAY_RATE_1       0.0\n",
       "LIMIT_RATE_4       0.0\n",
       "RZ_CNT_M           0.0\n",
       "LIMIT_RATE_1       0.0\n",
       "JOB_TYPE           0.0\n",
       "LIMIT_RATE_6       0.0\n",
       "CASE_FROM          0.0\n",
       "LIMIT_RATE_2       0.0\n",
       "XF_AMT_CNT         0.0\n",
       "PAY_2              0.0\n",
       "PAY_5              0.0\n",
       "REPAY_RATE_4       0.0\n",
       "PAY_AMT4           0.0\n",
       "PAY_6              0.0\n",
       "LIMIT_BAL          0.0\n",
       "ZIP_CODE           0.0\n",
       "REPAY_RATE_5       0.0\n",
       "PAY_AMT3           0.0\n",
       "RZ_AMT_M           0.0\n",
       "Lrisk_rate         0.0\n",
       "PAY_AMT5           0.0\n",
       "PAY_AMT2           0.0\n",
       "REPAY_RATE_2       0.0\n",
       "OVERDUE_MAX_MON    0.0\n",
       "REPAY_RATE_3       0.0\n",
       "PAY_1              0.0\n",
       "LIMIT_RATE_5       0.0\n",
       "ID_NO_IDENT        0.0\n",
       "dtype: float64"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#查看数据的缺失程度\n",
    "test.isnull().sum(axis=0).sort_values(ascending=False)/float(len(test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:2: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \n",
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:3: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  This is separate from the ipykernel package so we can avoid doing imports until\n",
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:4: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  after removing the cwd from sys.path.\n",
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:5: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \"\"\"\n",
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:6: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \n",
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:7: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  import sys\n"
     ]
    }
   ],
   "source": [
    "#将测试集中支付码状态空调整为Z\n",
    "test['PAY_1']=[*map(lambda x: 'Z' if str(x).isspace() else x,test['PAY_1'])]\n",
    "test['PAY_2']=[*map(lambda x: 'Z' if str(x).isspace() else x,test['PAY_2'])]\n",
    "test['PAY_3']=[*map(lambda x: 'Z' if str(x).isspace() else x,test['PAY_3'])]\n",
    "test['PAY_4']=[*map(lambda x: 'Z' if str(x).isspace() else x,test['PAY_4'])]\n",
    "test['PAY_5']=[*map(lambda x: 'Z' if str(x).isspace() else x,test['PAY_5'])]\n",
    "test['PAY_6']=[*map(lambda x: 'Z' if str(x).isspace() else x,test['PAY_6'])]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [],
   "source": [
    "#将已保存好的bins_adj文件调用\n",
    "import pickle\n",
    "# 使用pickle包中的load函数把写入的文件反序列化\n",
    "load_file = open('bins_adj.dat', 'rb')\n",
    "# 把反序列化的信息读取出来\n",
    "bins_adj = pickle.load(load_file)\n",
    "load_file.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████| 37/37 [00:04<00:00,  7.93it/s]\n",
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\pandas\\core\\frame.py:3137: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  self[k1] = value[k2]\n"
     ]
    }
   ],
   "source": [
    "#convert test values into woe values\n",
    "test_woe_all = pd.DataFrame()\n",
    "for i in tqdm(test[important_feature[1:]].columns):\n",
    "    test_woe = woebin_ply(test[[i]], bins_adj)\n",
    "  #  test_woe = test_woe[i+'_woe']\n",
    "    test_woe_all = pd.concat([test_woe_all,test_woe],axis = 1)\n",
    "test[important_feature[1:]] = test_woe_all.copy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\pandas\\core\\frame.py:3787: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  downcast=downcast, **kwargs)\n"
     ]
    }
   ],
   "source": [
    "#Job_Type中有108个数据属于训练集没有的数据集，故为空\n",
    "#查看数据的缺失程度\n",
    "test.isnull().sum(axis=0).sort_values(ascending=False)/float(len(test))\n",
    "#用0填充\n",
    "test.fillna(0,inplace = True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_test =test[important_feature[1:]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(63532, 37)"
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [],
   "source": [
    "#应用模型进行预测\n",
    "#result=lr.predict_proba(test[important_feature[1:]])\n",
    "test_pred_lr = lr.predict_proba(X_test[important_feature[1:]])[:,1]\n",
    "test_pred_tree = tree.predict_proba(X_test[important_feature[1:]])[:,1]\n",
    "test_pred_GBDT = GBDT.predict_proba(X_test[important_feature[1:]])[:,1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 0.60062613,  0.44376191,  0.11525519, ...,  0.28237773,\n",
       "        0.17097636,  0.46247512])"
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_pred_lr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 0.55151515,  0.14520202,  0.13468379, ...,  0.16994894,\n",
       "        0.14520202,  0.13468379])"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_pred_tree"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 0.37073459,  0.38235487,  0.13369938, ...,  0.27057905,\n",
       "        0.17895433,  0.29661668])"
      ]
     },
     "execution_count": 102,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_pred_GBDT"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [],
   "source": [
    "#查看预测结果\n",
    "\n",
    "#对Y值重命名\n",
    "data= testset.rename(columns={'CUST_TYPE':'loan_status'})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [],
   "source": [
    "#违约状态定义  定义目标变量\n",
    "def loan_status_coding(status_data,dic):\n",
    "    temp_data=pd.Series(status_data,copy=True)\n",
    "    for key,values in dic.items():\n",
    "        temp_data.replace(key,values,inplace=True)\n",
    "    return temp_data\n",
    "data['loan_status']=loan_status_coding(data['loan_status'],\n",
    "                                       {'G':0,'B':1})\n",
    "#获得y变量\n",
    "y_test = data.loan_status"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "E:\\studyingPy\\C_card\\lending_club\\perf.py:38: FutureWarning: Sorting because non-concatenation axis is not aligned. A future version\n",
      "of pandas will change to not sort by default.\n",
      "\n",
      "To accept the future behavior, pass 'sort=True'.\n",
      "\n",
      "To retain the current behavior and silence the warning, pass sort=False\n",
      "\n",
      "  ], ignore_index=True)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAADVCAYAAABJ0beGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzsnXdYVMf3h98B7L1Hsccau6KxRyP2gsbee41ojMbEFmt+Jl9L1AR7jcZGUBEFrDGKvTcUoyaixt4ABYXd+f0xiyJSlrIsu3vf57kPe/tZnb2fO3POnCOklGhoaGhoaMSGnbkN0NDQ0NBI3WhCoaGhoaERJ5pQaGhoaGjEiSYUGhoaGhpxogmFhoaGhkacaEKhoaGhoREnmlCkAEKIf4UQzua2Q0MjOdDas+2hCUUqRAhRVAghhRAOyXCt1UKIGQk8RwohSkRZHyOEuCeEKBfL8fWFEEeFEC+EEE+FEH5CiKpJtV3DOkgl7fmlECJECHFXCDFXCGEf7ZhWQogThuOeCCF+F0IUjHZMfiHECsNvIVgIcVUIMVUIkSmp3yu1owmFmUmOH48pEUJMBL4CPpNSXo5hfw5gOzAXyAEUBGYAb1LSTo3UQSpuz5WklJmBz4DOQL/IHUKIDsB6YD6QGygHvAb8DO0bIURO4CiQAaglpcwCNAayAx+n4PcwD1JKbTHxAvwLOBs+TwH+ANYBQcCAGI4PBCQQYlhqGbb3A64Az4BdQBHDdgH8DDwEXgAXgPLAICAc9dAOAbyMtFcCJVAP/H+B4nEcWxN4bO5/Y21JucVS23OU9c2AW5R73QLGRjvHDrgETDOszwAuAnbm/vc3y/+5uQ2whSWGH1Y40NbQGDPEcHxRQ+N2iLKtLXAdKAs4ABOBI4Z9TYHTqLcbYTgmv2HfamBGtOsvBBbGYa80/Pj/BgrH891yGH7oq4BmQHZz/3tri2kXC23PJQyfywD3gFFR1iVQLIbzpgJHDZ+PAVPN/W9vrkUbejIPR6WU26SUeillqJHnDAZmSimvSCkjgP8DKgshiqB+qFlQjV4YjrkX24WklMOklMPiuV8TwFdKGRjXQVLKZ0Bd1ENiBfBICLFNCJHHyO+lYflYQns+I4R4ierBHECJC6ihJlDiEZ17UfbniuUYm0ATCvNwO+qKwckWuRSO5ZwiwHwhxHMhxHPgKepty1FKuR/4FXADHgghlgohsibRxi5AByHE1Gi27o5ia2cAKeVlKWVvKaUjUBEojPJZaNgGltCeqwKZUf6JT4FIB/Rjw9/8MZyTP8r+J7EcYxNoQmEe3kvZK6XMHGUJjL7fwG1gsJQye5Qlg5TyiOEaC6SU1VCOuFLANzHdKwFcA5yBYUKI76LY2iSKrZs++GJSXgF+Q40pa9gGltCekYrNKKf094bNAcAdoGPUY4UQdkB7YJ9h016gnWG7zWGTX9oCeATogeJRti0GxkWGqAohsgkhOho+VxdCfCqESAO8BMIAneG8B9GuYzRSRTk5A98IIb6K6RghxCdCiK+FEI6G9cKo3sixxNxTwypJFe05Cj8Cg4QQH0nlgBgDTBRCdBNCZBBCfAQsB7KinOqgeshZgTWG4TGEEI6GUNuKSbQn1aMJRSpESvkK+AE4bOia15RSbgV+AjYKIYJQERnNDadkBZahnMq3UN3k2YZ9K4BPDNfZBiCEWCyEWGykLedRzsXJQoghMRwSDNQCThrGgI8A54CxCf3eGtZJamrPBnsuAn9h6KUYesY9gVGooSZ/VBhsHSnlE8MxT4HaKP/JcSFEMKq38QLllLdqhBJUDQ0NDQ2NmNF6FBoaGhoacWIyoRBCrBRCPBRCXIplvxBCLBBCXBdCXNBSPmhYClrb1rA1TNmjWI2agBUbzYGShmUQsMiEtmhoJCer0dq2hg1hMqGQUh5ExUbHhgvwmyFk7RiQXQhhs3HKGpaD1rY1bA1z+igceX+izh3DNg0NS0dr2xpWhTkzPYoYtsUYgiWEGITqwpMpU6ZqZcqUMaVdGlZIeHg4wcHBhISEEBwcTFhY2Nt96dKlw87OjtDQUFAJDpOafkRr2xomRa/XExYWRkhICKGhobx69YpXr169d4y9vQNp0qQlY8bMZLSz587jB8+k1OVMzP3MKRR3gEJR1gsC/8V0oJRyKbAUwMnJSZ46dcr01mlYNC9fvuTIkSO4u7uzb98+bt68CUC2bNmoW7cuzZs3p06dOlSuXJlDhw7RrFkzXFxc8PT0vJUMt9fatkay8uDBA86dO4e3tzcHDhzg8uXL6HRqDmLOnLn55JOqVKv2GaVLO1G6dDUKFSpI1jtXyLFnMyGjJ6PTCwoXTn8nsfc3p1BsB4YLITaicq+8iCvxl4ZGXLx584aTJ09y4MABvL29OXbsGHq9nowZM9K0aVO+/PJLatasSc2aNbGzezfieuPGDTp16kSZMmVYu3YtWbMmNaUQoLVtjSQQHh7OxYsX8fLy4saNG+zfv5+7d+8CqvdbuXIt+vYdQ7Fi5SlfvhaOjsXJmVOQLt27azhc8ydXr4ZgZ8erXkPQ5fooSTaZTCiEEBuABkBuIcQdYDKQBkBKuRjwBlqgZjW+AvqayhYN60Ov13Py5Ek8PDzw9vYmICCAiIgIAKpUqcK4ceOoU6cO9erVI3PmzDFeIzg4GBcXF4QQeHp6kiVLFqPurbVtjeTk3LlznDx5Eh8fH44dO8a9e+/eKezt7XF2bkfXrjUpUaIy5cvXJFeuTMT1PuNwzZ9cHZVIPHH/E33ej94lQEkkJhMKKWXXePZL4EtT3V/D+pBScujQIdasWcPevXsJDAwkTZo01K9fn1atWlGjRg0+++wzcuXKFe+1dDod3bt35+rVq+zatYuPPza+SJnWtjWSQmhoKDt27GDnzp0cOXKEv//+G4B8+QpQtWo9mjQpSLFin1ClSkMKFChKrlx27/UW4iK6SESUSB6fV2otW6ih8ZbHjx+zYcMGFi9ejL+/P1mzZqV+/fr88MMPNG3alDx5Eu57njhxIl5eXvz66680atTIBFZraLwjJCSEY8eOsWnTJtavX8+rV6/IkSMX5cpVo127oZQvX4eyZZ3Im9cOhyQ8le3/vYFMl56n63clm0iAJhQaqZR//vkHLy8v1q5dy+nTp5FS4uTkxPLly+nSpQuZMiW+nv26dev48ccfGTJkCMOGxVfvRkMj4YSFhXH+/Hl27tzJ7t27OX78OADp02egadMONGnSlWrVnPnoozSkSZP0+4nQV8gMGXndpDUP6zeG9OmTftEoaEKhkSrQ6/UcP36c3bt3s2XLFi5cuABA5cqVmTJlCi1atKBatWoIEVPkqfEcO3aMAQMG0KBBAxYsWJDk62logBoWPXXqFCdOnGDZsmWcP3/+7b6KFaszaNB4ChcuQ/36bcmbNwtGusOMwuGaP7m6NubFjF8Ja94u2UUCNKHQMDP37t1j0aJFrF69mtu3byOEoGbNmsybN4/GjRvzySefJNu9AgMDadu2LY6Ojri7u5MmOV7lNGwWKSUnT55k3rx5bNq0Cb1eD0D+/IVo3Lgddeq0xMmpMfnzF+ajpAUdxUpUn0R4yeT7rXxwH5NdWUMjFp48eYKHhwdeXl74+voSERFB8+bNmTFjBk2bNiVfvnzJfs+XL1/i4uJCaGgo+/fvJ3fu3PGfpKERjZCQEHbu3MmBAwfYsmULDx8+BKBx43bUqOGMk1NjChUqQd68Ant709oSVSQeux9AV6K06e5lsitraEQhJCSEzZs3s3LlSo4ePYper6dIkSKMGDGCAQMGULZsWZPdW6/X07t3by5cuMCOHTuStZeiYf38/fffrF27Fh8fH86dO0dERASZM2ehYsVP6dWrGc7OXXF0LEDORM15Thx2D++nmEiAJhQaJub48eO4ubnh7u5OWFgYJUuWZNKkSbRp04YqVaqkiI9g8uTJeHh4MGfOHJo3bx7/CRo2z82bN/ntt9/YsGED165dA6BSpRr07fsNNWo0oWLFuuTM6UDGjOaxT58nHy/7jyS0RXuTiwRoQqFhAqSU+Pj4MH36dI4dO0bWrFnp1asX3bt3p169einqQN6wYQMzZsygX79+jBo1KsXuq2F56PV6tmzZwuLFi9m3bx8A1avXY+zYIdSt64KjY3GT+RqMxeGaP0hJROlyhIwYn3L3TbE7aVg9jx49Yu3atSxatIjr169TtGhR5s2bR58+fciWLVuK23PixAn69u1LvXr1WLRokRbhpBEjhw8fZt68eezfv5+nT5+SN29+RoyYYRhSMr84RBLpk9DnK8CjXWcgBduzJhQaSUJKyZkzZ1i5ciWrVq0iNDSU2rVrM2HCBLp160batGnNYtedO3dwcXEhf/78eHh4mM0OjdTJ6dOn2bZtG1u2bMHf3x8HBwc++6wFLVv2onbtNhQokMbkzuiEENVx/XThxhQVCdCEQiORREREsHnzZmbNmsW5c+dImzYt7du35+uvv8bJycmstkVGOIWEhLBnz55EzdzWsD6CgoJYvXo1c+fO5dYtlSS4bNnKTJjwK02a9CRXrqzkyGFmI2MgelqOlPBJfGBDit9Rw6LR6XSsWbOGH374gZs3b1KmTBnc3Nzo1KlTqgg51ev19O3bl7Nnz7J9+3bKly9vbpM0zExgYCDz5s1j2bJlhISEUK5cFSZOHEvVqo0oUqR0qhlaio3M86Yne+6mhKIJhYZR6HQ69u/fz4wZMzh48CBVqlRh8+bNfPHFF9inoj761KlTcXd3Z9asWbRq1crc5miYkcOHD7N161bc3NwIDw+nSZMv6NRpBBUq1CF/fsvxV72YswK7B/fQFTU+cWVyowmFRpxIKfnrr78YPXo0Z86cIV++fCxevJhBgwalOufwxo0bmTZtGn379mX06NHmNkfDDEgpOXLkCNOnT2fXrl0AODu7MHLkXAoXLk4q6PQahcM1f7L8OJ7n839DZslqVpEATSg04uDff/9l2LBh+Pj4UKBAAZYtW0b37t3JkCGDuU37gMgIp7p162oRTjbK2bNn+frrrzlw4ABZs2ajT5+v6dDBlfz5i6b64aWoOFzzJ1enz0EI7B49QJclWYppJc0mcxugkfp48+YNCxYsYPLkyQgh+Omnn3B1dU2VAgFw9+5d2rZtS/78+dmyZQvpjE3er2EV3L17l2+++YYNGzaQOXMWBg0aT8+e48ifPzOptMnGSlSReOL+J7riJc1tEqAJhUYUpJRs3bqVsWPHcuPGDVq2bImbmxtFihQxt2mx8urVK9q2bUtwcLAW4WRj/PPPP0ybNo01a9aQNm06evf+il69xlOwYB5iKWqYqnH4+8p7ImEux3VMaEKhAcBff/2Fq6srFy9epGzZsnh5edGyZctUPYQjpaR///6cPn0aT09PypUrZ26TNFKAmzdv4urqire3tyEsux89eoylUKFSFjXEFB2ZJi06x8I8n/9bqhIJ0ITiLfb29lSoUAEpJfb29vz666/Url3b6POnTJlC5syZGTNmjAmtTH4ePXrEzJkz+fnnnylUqBArVqygZ8+eFpGCe/r06WzcuJGZM2fSunVrc5ujYWKePHnCrFmzmDdvHuHh4Qwc+B0uLoPIn7+YRQuE3b276D8qgK7oxzzecTzFJ9MZgyYUBjJkyMC5c+cA2LVrF+PGjeOvv/4ys1Wm4/79+8yfP58FCxYQGhrKoEGDmDdvXqr1Q0Rn48aNTJ48mV69evHtt9+a2xwNE3L58mXmzJnDqlWrAGjYsCUjRsyhRInSKZqx1RRE+iRedR1A8LczUqVIANiZ24DUSFBQEDkMUzRDQkJo1KgRVatWpUKFCnh6er497ocffqB06dI4OzsTEBBgLnMThJSSlStXUrJkSX788UfatGnDxYsXWbJkicWIxLFjx+jTpw/16tVj6dKlqXp4TCPxvHjxAldXV8qXL8+qVato1MiFDRtOM3v2DmrUsB6RQAhC2/cwtzlxovUoDISGhlK5cmXCwsK4d+8e+/fvByB9+vRs3bqVrFmz8vjxY2rWrEmbNm04c+YMGzdu5OzZs0RERFC1alWqVatm5m8RN6dPn8bV1ZWjR49Sq1Ytli1bZnHj+rdu3cLFxQVHR0ctwslKCQkJYc6cOcyZM4eQkBBaterKsGE/UaBAIawlViF6dFNq80lEJ1ahEELEqddSyqfxXVwI0QyYD9gDy6WUP0bbXxhYA2Q3HPOdlNLbCLuTnahDT0ePHqVXr15cunQJKSXjx4/n4MGD2NnZcffuXR48eMChQ4do164dGQ0J6du0aWMOs40iMDCQsWPHsmnTJnLnzs3ChQsZMGCARfghohIUFESrVq14/fo1Bw4cMGvKEEtq25ZCcHAwU6ZMYfHixbx69YoGDVowYMBkypatYdE+iA94/ZqcPZpbjEhA3D2K04AEBFAYeGb4nB0IBIrFdWEhhD3gBjQG7gAnhRDbpZT+UQ6bCGyWUi4SQnwCeANFE/dVko9atWrx+PFjHj16hLe3N48ePeL06dOkSZOGokWLEhYWBpDqhzx0Oh3Lly9nwoQJvHz5kgkTJjBmzBiyZ89ubtMSTEREBF26dOHKlSv4+vqatCJefFhy206N6PV65syZw4oVKwgICKBOHWcGDZpG+fK1rEsgIkmXjhc/LUFXqKhFiATE4aOQUhaTUhYHdgGtpZS5pZS5gFbAFiOuXQO4LqW8KaV8A2wEXKLfBoicdpgN+C+hX8AUXL16FZ1OR65cuXjx4gV58+YlTZo0/Pnnn2+zTtavX5+tW7cSGhpKcHAwXl5eZrb6ffz8/ChfvjxDhgyhZMmSnD9/nhkzZlikSEgpGT58OD4+PixatAhnZ2dzm2SxbTu1sXPnTooWLcrYsWN58OARixf7smDBHpydrU8kHK75k95zEwCvGzazGJEA43wU1aWUQyJXpJQ+QojpRpznCNyOsn4H+DTaMVOA3UIIVyATEOMTQAgxCBgEULhwYSNunXAifRSgHkxr1qzB3t6e7t2707p1a5ycnKhcuTJlyqj/3KpVq9K5c2cqV65MkSJFqFevnknsSgwLFy7E1dWVIkWKsGnTJjp27Jjqez9xMXfuXJYsWcJ3333HwIEDzW0OWFjbTo3odDqmTZvG9OnTKVSoGFOmLKNly37kz2+XWgN/ksRbn4S9A6+btEZmMFMN1URijFA8FkJMBNah3pJ6AE+MOC+m/24Zbb0rsFpKOUcIUQtYK4QoL6XUv3eSlEuBpQBOTk7Rr5Es6HS6GLfnzp2bo0ePxrhvwoQJTJgwwRTmJIqAgACGDx/O3r17adWqFevXrydLlizmNitJ7Nixg2+++YYOHTrwww8/mNucSCyqbacmpJR4eHjg6urK/fv3adWqK999t5xixSzrwZkQojquH2/aZ3EiAcaFx3YF8gBbgW1AXsO2+LgDFIqyXpAPu9/9gc0AUsqjQHrAQvI7pi6WL19O5cqVOXbsGHPnzmXr1q0WLxIXLlyga9euVK1alTVr1mBnl2qiubW2nQiePn2Ki4sLHTt2xN4+HVOmLGPKlN9tRyTcD5il6FByEG+PwhDdNDIR1z4JlBRCFAPuAl2AbtGOCQQaAauFEGVRP6ZHibiXzRISEsK3337LwoULcXZ2Zs2aNRQoUMDcZiUZ9bbZimzZsuHp6fk2uiyVoLXtBOLn50fnzp25d+8eQ4ZMpE+f71NduVFTkG7fTosXCTBCKIQQeYCxQDlUYwdASvl5XOdJKSOEEMNRznB7YKWU8rIQYhpwSkq5HRgNLBNCjEJ13ftIKa2++51cHDx4kB49enD79m1cXV2ZM2eOxYW8xkRoaCguLi48efIEPz8/HB0dzW3Se2ht23iePn3KkCFDcHd3J1u2HKxadZAKFepanaP6A/R6sLPj5ZAxhHbuiz6nZXcmjfFR/A5sQkU7DQF6Y+SbkSFu3Dvatu+jfPYH6hhrrIbizZs3zJgxgxkzZlCsWDH8/PyoU8c6/hmllPTt25cTJ06wZcsWqlSpYm6TYkRr23EjpWTz5s0MGzaMoKAghgyZSLduYylSJAsOVj7N1+GaPzkGd+TZr+uJKFfJ4kUCjBOKXFLKFUKIkVLKv4C/hBDWmwQplXPo0CH69evH9evX6dGjBwsXLrR4X0RUpk6dyqZNm5g5cybt2rUztzkaieDs2bMMHTqU48ePU7ZsJX75ZRllylS3/l4EBp9Ex4ZgZ4dMlz7+EywEY7yD4Ya/94QQLYUQVVDOO40UJDQ0lKFDh/LZZ5+h1+vx9vZm7dq1ViUSGzduZOrUqfTu3VtL9GeBhISEMGDAAKpWrcrly/5MnLiQVatO0qCB7YmEpfskomNMj2KGECIbasz1F9QkolEmtUrjPe7fv0/btm05fvw4I0aMYPr06WTNav7yiMnJ8ePH6du3L/Xq1WPJkiUWPe/DFrlw4QLt27fn+vXr9Okzil69JlC0aC5sJRWX/b83rFYkwLiopx2Gjy+AhqY1RyM6f/75J927d+fFixf88ccftG/f3twmJTu3bt2iTZs2FChQAA8PDy3Rn4WxdOlSRowYQebMWVm0yIcaNZrZRA8iKrqPHHndoBnBruOtTiQgjqEnIUR6IURvIUQbofhWCLFDCDFfCGH53hkLYMWKFTg7O5MlSxb8/PysUiRevHjxNtHfjh07tFKmFoROp6Nnz54MHjyYSpU+5fffT9OggW2JhP31AMTzZ5A+Pc/nr7FKkYC4fRS/AU2AfsABVGLAX4FgYLWpDbNlQkJCGDFiBAMGDKBRo0acPHky1Ub/JIXw8HA6dOjA1atX8fDwMGuiP42EcenSJRo1asS6devo3v1LfvllHxUqFMLKRkTjxOGaP7nb1yfHyF7mNsXkxDX09ImUsrwQwgG4I6X8zLDdVwhxPgVss0nOnj1Lhw4duHnzJgMGDMDNzY20adOa26xkR0rJsGHD2Lt3r6EoTSNzm6RhBFJKvvvuO37++Wfs7R2YNGkhLi5DyJ/ftnxKUR3XQZNmmdsckxOXULyBt5OLoqcniDkxkkaS2LdvH+3atSNLlizs3bvXqh+ec+bMeZsCvU+fPuY2R8MIwsLCGDhwIOvWraN5846MGDGXwoULYoEJiZNEVJGwlHoSSSUuoSgohFiASoAW+RnDeuqaKmsFrFu3jt69e1OqVCn27NlDwYLWG4Hs6enJ2LFj6dSpE9OmTTO3ORpG8PLlSxo0aMCpU6fo2HEg3367xOZ6EQBISfav+9mUSEDcQvFNlM+nou2Lvq6RBNatW0evXr2oW7cu3t7eZM6c2dwmmYwzZ87QrVs3nJycWL16dWpK9KcRC6GhoVSvXp0rV64wdepyWrXqb1MO6/cQgmeLNiJeh9mMSEDcQuEI+Egpz6aUMbbIihUrGDx4MA0aNMDT09OqReLu3bu0bt2aXLlysX37djJkyGBukzTi4e7du7Rt25YbN24wb94W6tVrZ5Mi4XDNn4ybVxM0/kd0hYqa25wUJy6huAmMFEJUAs4DPsBuKeWzFLHMBli2bBmDBg3C2dmZLVu2WNUs6+i8fPmSNm3aEBQUxOHDh/nIFp82FsarV69o1KgRN2/eZOLERTYtEpGpwkP6jUBfwHqHhWMjVqGQUm5ElXjEkLajGbDFUC94L+ArpTyRIlZaIcuXL2fIkCE0a9YMT09Pq4xsikSn09GtWzfOnTvH9u3bqVixorlN0oiHp0+f0rx5cwICAli6dA9OTs7ky2duq1KeqCLxxP1PmxQJMC6FB4bhp7PATCFEVlRR+QGAJhSJYPfu3W+HmzZt2mTVIgEwduxYtm/fzi+//ELLli3NbY5GPOh0Ojp16sT58+eZPn0VNWo4Y4vzIKOLhC35JKITq1AIIb6I4zwppRxkAnusnp07d9KhQwfKlSvHli1brC5nU3QWLlzI3LlzcXV1Zfjw4eY2RyMeXr16RdeuXdm/fz+jRs2kRYs+NikSAHYP7iEzZOTpWm+bFgmIu0fR2vA3L1Ab2G9Yb4iaqb3FdGZZJx4eHnTu3JkKFSqwa9cusmXLZm6TTIq3tzeurq60bt2an3/+2dzmaMRDWFgYbdq0Yd++fW/rR9iiT0KEBCMzZ+FNvUY8/OsqWHmP3xhijU2UUvaVUvZFVef6RErZXkrZHlXpTiOB/PHHH3Tp0oUaNWpw4MAB8ubNa26TTMqZM2fo1KkTlSpVYv369dhbe81LCyc8PJw6deqwb98+Zs78jYEDp9vkPAmHa/7krVeKDB7r1AZNJADj6lEUlVLei7L+AChlInusklWrVtGjRw9q1KiBr6+v1fckAgMDadmyJTlz5mTnzp1WHfJrDTx8+JCaNWty5swZpk5dTpMmPW2yJ/F2xjUQXsnJzNakLoxxZh8QQuwCNqB6F12AP01qlZUgpWTq1KlMnTqVhg0b4u7ubvU+iRcvXtCyZUtCQ0PZu3cv+fPnN7dJGnFw48YNqlevTljYa2bO/E0TCRubcW0sxtSjGC6EaAfUN2xaKqXcalqzLB8pJRMmTGDmzJn07NmTlStX4mDlxYKjZoP18fGhXDltlDI1c+XKFVq2bImUgqVL91GuXE2bDIG1e/pYE4l4MPbJdQSIQPUotJBYI5gyZQozZ86kX79+LFu2zOpTVUgpGTp06NtssM7OzuY2SSMOrl27Ru3atdHrJYsX78XJyYlMmcxtlXnQ58xNiOt4XjdoqolELMT79BJCdEKJQwegE3BcCNHBmIsLIZoJIQKEENeFEN/Fdn0hhL8Q4rIQYn1CjE+tuLm5MW3aNPr27WsTIgEwc+ZMVqxYwaRJk6w+G6ylt+sXL17QuHFjwsJe4+a2ixo1bFMkHK75k+bCaQBeDhipiUQcGNOjmABUl1I+BBBC5EHNzP4jrpMMM7jdUJPz7gAnhRDbpZT+UY4pCYwD6kgpnwkhLD4UaPny5QwfPpyWLVvajEhs2LCBCRMm0KNHD6ZOnWpuc0yKpbfroKAgGjRowJ07d1i+fB81anyKLabcipxMp8+Ri0d7L4AWlRcnxjzF7CJFwsATI8+rAVyXUt6UUr5BpQNxiXbMQMAtMn9UtPtYHD4+PgwePJimTZvi4eFhEyGhfn5+9OnTh/r167N8+XKEsPqQSott13q9nq5du3L+/HnmzdtKpUqrVuqiAAAgAElEQVQNsMWAtKgzrp8u26KJhBEY88D3FULsEkL0EUL0AXYC3kac5wjcjrJ+hw/rWJQCSgkhDgshjgkhmsV0ISHEICHEKSHEqUePHhlx65Tn9u3bdOnShYoVK+Lu7k66dOnMbZLJuX79Om3btqVo0aJs3brVJr4zydiuIWXb9uzZs/H29mbcuPnUqdPGtqObhOCx+wGrrXGd3MQrFFLKb4AlQEWgEirq6Vsjrh3Tq6WMtu4AlAQaAF2B5UKID+plSSmXSimdpJROeVJhPoGHDx/SqFEjwsPDcXd3t+ossJE8fvyY5s2bAyotSc6cOeM8/sGDB3Tr1o3ixYtTrVo1atWqxdatSQ+eiyymk4IkW7uGlGvba9as4dtvv6VOnca0b+9qkyIBkHnxbLCz00QigRgb9XQYCCdhUU93gEJR1gsC0Uuq3gGOSSnDgX+EEAGoH9hJI+9hdiIiImjXrh23b9/G19eXEiVKmNskkxMaGoqLiwu3b99m//798X5nKSVt27ald+/erF+v/Lq3bt1i+/btKWFucmNx7fry5csMGzaMChWc+OGHTTYrEgDPZy7C/uE9m6wpkRRMGfV0EigphCgmhEiLmqgX/cmwDZU7CiFEblSX/abx5puf+fPnc+TIEZYuXcpnn31mbnNMjk6no3v37hw9epR169ZRu3bteM/Zv38/adOmZciQIW+3FSlSBFdXV8LCwujbty8VKlSgSpUq/PmnmssZ2/bQ0NC3Q3ydO3cmNDTUNF80diyuXU+ZMgUh7Jg9exslS+Ywlxlmw+GaPzm7NcXu6WNIl04TiURgsqgnKWWEEGI4sAuwB1ZKKS8LIaYBp6SU2w37mggh/AEd8I2U8kniv07KcvnyZSZNmkTr1q3p0aOHuc0xOVJKRo4cydatW5k/fz4dOhgVJc3ly5epWrVqjPvc3NwAuHjxIlevXqVJkyZcu3Yt1u2LFi0iY8aMXLhwgQsXLsR6XVNhae16//79/PHHHwwdOomPP7a9UvdRZ1yLZ08hZ25zm2SRGCMUiY16QkrpTTTHt5Ty+yifJfC1YbEoIiIi6NOnD5kzZ2bx4sW2EO3Djz/+iJubG2PGjGHEiBGJvs6XX36Jn58fadOmpWDBgri6ugJQpkwZihQpwrVr1/Dz84tx+8GDB9/eu2LFimYpgmQp7frNmze0bduWwoWL06PHOJsLg40qEo/dD6D7WEtRl1iMEQrfKLmeADpjXNSTVTNu3DhOnTrFhg0bKFCggLnNMTnr1q1j/PjxdO/enZ9++ilB55YrVw4PD4+3625ubjx+/BgnJyccHWN+y1XP2pixBVFODsaMGUNwcDDjxy+iSBHbUgmHv6+8LxKa4zpJmDLqyWrZtm0bs2fPZsiQIXTp0sXc5pic/fv3069fPxo0aMDKlSsTPInw888/JywsjEWLFr3d9urVKwDq16/P77//Dqi0EoGBgZQuXdqo7ZcuXeLChQvJ8RWtjsOHD/PLL7/QoEFLmjTpjq1pqz5TFiJKlNFEIpkQcb25pUacnJxkCodDvsfVq1epXr06pUqVws/PjwxW3p+/dOkSderUoVChQvj5+ZE9e4xRnvFy7949Ro0axfHjx8mTJw+ZMmViyJAhuLi4MGTIEE6fPo2DgwNz586lYcOGhIWFxbg9NDSUvn374u/vT+XKlbl+/ToLFizAySnpaaF1Oh0ODg7/SCmLJ/liiSC52vazZ88oU6YMadNmZN26MzblwLa/G4juI0c1iU5KbE4hY0Gng8KF01+UMixRY7WxCoUQoj+QU0o5y7B+B8iKiiMfK6VcFOOJJsacQvHs2TNq1qzJs2fPOHXqFIULFzaLHSnFv//+S506dQA4duwYhQoViucMyyAoKAg3Nzfu3r1LmzZtaNy4Mb/++iuzZ88mMDDwuZTSLE/W5GjbkaHIvr6+rFx5iAYNatjMszJyxnWoS1eCpmoVFaOSVKGIawxhCLAyyvojKWVWIA9qEpFNodfr6devH//88w8eHh5WLxKPHj2iadOmvHr1Cl9fX6sRCYCePXsSEBBAhQoVWL58OU2aNOGPP/7A09MT4Ia57UsKCxcuZPv27Ywc+X+UK2d7IoEQvOw5JP4TNBJEXM5su2ghfe4AUsowIYR1j7fEwPTp09m2bRtz5syhXr165jbHpLx8+ZLWrVsTGBjI3r17qVChgrlNSlZu3rzJxYsXARgwYAC5c+cmMDDQ4mfUHz58mOHDh1OzZkM6dRqFlVfbfUtUkdB8EqYhLqF4r16nlPL/AIQQdkAuUxqV2ti/fz9Tp06lW7dujBo1ytzmmJTw8HA6duzIyZMn8fDweDv0ZE2kSZPm7Wd7e3uKFStm8SLx8uVL+vfvT5o0aZg2bT0FClh/1mIAwsPJ2ae1JhImJi6h2C2EmCGlnBht+zRgtwltSlX8999/dOvWjTJlyrBo0SKrDs2UUjJo0CB8fHxYunQpbdu2NbdJJuH8+fNkzZr1bQhuaGho1PUqZjUukYwfP56AgAB++GENpUvbUI6ONGl4PmclujwfaSJhQuISim9QycyuA+cN2yoBp4ABpjYsNRD54AwKCmL37t1WX+968uTJrF69msmTJzNw4EBzm2MydDpdrPuEEGdT0JRk4fTp0yxYsIAWLTrTrFkvrLziLmAoOnT2OKGd+/KmlvWnzjE3sTYpKeVLoKsQojgQWfzYX0pp0c6+hLBx40Z27tzJ3LlzzTIDOCVZunQp06dPp1+/fkyePNnc5piUsLAwFi9ezPXr16lYsSL9+vWz2HrmUkp69OhBlixZGTPGzSYS/r31SdjbE9aiPTKLdb/ApQaMmXB3U0rpZVhsRiTu37/P119/TbVq1ZKUrsIS8PDwYOjQoTRv3twm0pH07t2bU6dOUaFCBby9vRk9erS5TUo0Hh4eXL16lS++GEChQpbjOvTxAUdHuH5drR85Ar16vX/MV1/Bjh3qc3g4/N//Qd0ar/nc2Y6az3zYNOr4ByLx7Bl06QJ16qi/z59/eO/Dh6Fx43dL8eLg66v2HToETZuq7W3bwj//vDtv+3Zo0AAaNoQvv0yefwdLwTJfo1KAr776imfPnrFr1y6rrlR36NAhunXrxqeffoq7u/t7jl5rxd/f/23UU//+/alRo4aZLUocERERjB8/nhw5cjFw4DQyZjS3RcazbRvUqAGenmCMTs+aBY/+fs6l1xVJlyucK0sO4Xe/4AfHublB3bowfDj8+qtanzDh/WPq1IE9e9TnZ8/U8ZGJn8eNg1WroGRJWL0a5s+HefPg5k11vW3bIHt2ePw4ad/f0rCR0IjYiVoK0ttbNRB39+Ns2nSWjz66Sq9eFSlbFgYNivl8X18oXRpKlIAff4z7Xn/8oSaKRs6pOnECKldWS6VKEFnHJyxM/YgqVYJy5SDqSFC9eu/OKVBAvfUklitXruDi4kKxYsXYsWMHmTJlSvzFLIioYmipQ04AmzZt4u+//2bMmLkUK2Y5/3cvX6rfwOzZSijiIzQUfv8dZn3qTjr7CB67HyBnjRK0afPhsbt2QceO6nPHju96CrGxc6fqIUQmWBACgoPV5+BgyJdPfV6/Hvr0USIBkNvGktDG+isRQsRZskxK+TT5zTEf+/aBqyvs2iXp3n0E6dIt5X//y0+nTmq/4QX0PXQ61QXdswcKFoTq1aFNG/jkkw+PDQ6GBQvg00/fbStfXv1gHBzg3j0lDK1bQ7p0sH+/ErHwcPXG07w51KypusaRtG8PLtGrNRvJvXv3aN68OWnTpsXHxyfeCnXWxLlz594GJkgpLTbq6fvvvydXrjw0aWJZKe59fdUQzscfqwdvTL+tqPxzPQJHRwcchgzkYdeOyGzvp5EZMwZ69lS/n8eP3z3c8+WDJ/Ekd/f0fP8lcPZsda306SFLFvDyUttvGqqJuLio3/3o0UpgbIW4ehSnURFOp2NYzJdsyQQcOgQDB6q3i3PnPDhx4gS5c1fg44/f1YCOac7ZiROqJ1G8OKRNq8ZEY3tDmjQJxo5VDTCSjBl5G6ESFvYuLY0Q73o64eFqie42CA5WYpKYHkVQUBAtW7bk8ePH7Ny5k2LFiiX8IhZMpUqVCAoKIigoiODgYCIiIt5+Biwi6unQoUPcvHmTpk07ky+fZQ0MbNv27gXHxUWtx+YWc7h3m5z9v0CEvgT4QCRAPdwrVUq4HQ8ewNWrSrQiWbYM1q6F06ehc2eYOlVtj4hQ/oo//oCFC5U4vXiR8HtaKnFFPdnE0+P1a9VYDxyAfPme8fnnIyhfvjxffZWdzz+H2rWhSRPo21e9/fz3HwwYoIap7t6FqJktChaE48c/vMfZs3D7NrRqpRp1VI4fh3794NYt1UAjhUOng2rVlLPvyy/f74mAGqZq1AgSGrH7+vVrvvjiCy5evIiXlxfVqlVL2AWsAGtw1o8ZMwaAfv0mYUkutKdPleM6IECJg06n/nbo8OGD98XdYIruHkHJtJe4G5yekJD3h4pjInduJQD58qm/ueLw73t5qZ565Ejkkyfg7w+RtbDatIHu3dXn/PnV9jRpoHBh1Rv65x81BGwLGDVAK4TIgar5+/Z9WEp50FRGpSRp0igxWLECHBxm8ODBA7Zv346Tkx3Nm6tusqcnLFkC588rv4C3oRpHTPkUoz+D9HoYNUo5xmLi00/h8mW4cgV691YNN316lfzy3DkVtdGuHVy6pIaqItmwQQlWQtDr9fTu3Zt9+/bx22+/0axZs4RdwEp4+PAhc+fOjW13vpS0JTFcuHCBEydO0L//WPLls6w8HTt3qiHT//3v3bb27VU7f/AA/v5b+QnvHfybq8cyUDnnZV794UOXjfZMmgQ//aR67w8egJ+fOjcqTZqAu7tyZru7qwim2Ni2TTmvI8mWDYKC4MYNJQQHDypbAJo1U8d37qzE7uZNJRi2gjE1swcAB1HlHaca/k4xrVkph50dbN4Mfn5hLFiQmW7dur1NWV2ggHrb9/RUb/qXLr1/bsGCqqcQyZ076pyoBAer8xo0gKJF4dgx9aYSPUlo2bKQKdOH98ieXZ0b1Sn35Ika9mrZ0vjvKaVk1KhRbNq0if/973/07NnT+JOtDJ1OR0hICMHBwR8sWECAx8qVKldnx44jsTTXkqenehmKSosWavsvv6iXqiYNXjOk50uWZB1NuIcXuhKlGTtW9Q4aNoTPP4f+/d/1FsaMUS9xoHrfBw+qyKaDB9+FsZ4/r46L5PZt5ResVevdNgcHFV01aBA4O4OHB0w05KVo0ABy5FB/O3ZUQ8mW9m+fFOKtRyGEuAhUB45JKSsLIcoAU6WUnVPCwOgkd5rxzJkhJAQaNPiCQ4d+YObMvIwdmwtfXzW0kyYN3L8PVaqoIaSoE5oiIqBUKeUId3RUzuz161WkUmw0aKCGn5ycVNe1UCHVQG/dUo32wgXVU0mTRolEaKh6S/r2WzV0BbB4MRw9CmvWGP89Z82axdixYxk1ahRz5syxiuGXxFK1alXOnDkT4z4hxGkpZdKLWyQCY9r2w4cPKVKkKM2bd2LixNXWOcEuPJxsk0YQMuArLS1HMpHUNOPGDD2FGTLGIoRIJ6W8KoSwqv+9gwcP8tdfW5k4sRmLFg2idGn46y8YOfKd83nWLCUSUX0UDg4qtrppUxWP/fjx+8NDsVG9euz78uRRjjm9Xq3r9dCp0zuRANi4Eb77zvjvt27dOsaOHUvnzp2ZPXu2TYsExF1mNbWzYMECXr8Oo1ev8VYnEg5/X0GfIxf63Hl58aNZyt1oxIIxQnFHCJEd2AbsEUI8A/4zrVkpR1CQnpo1x+Do6Mi4cT2YPl1td3GBmIaxo/ooAJYuVeOqMfEnDQBoyIEE2RTZjY4kemqiAwm43I4dO+jTpw8NGzZkzZo1CS5jao3s27fP3CYkirCwMH7++Wfq129G4cKlzG1OsuJwzZ9cHRsSUbYiTzbuMbc5GtEwJoVHOynlcynlFGASsAJIZPR+6sPLy4uTJ08yffp0Mho5tVWvV+OdQrwfDlu+vNonpVoafKaWyPXIRa9//7ioy6NH76IuIpk2Td1LCDVL1NgX4uPHj9OpUycqV66Mp6cn6dKli/8kG8BS54xs3LiRV69e0aHDl1bVm4gUCezseD7jV3OboxEDxjiz10Z+llL+JaXczvuV7+I6t5kQIkAIcV0IEetgiRCigxBCCiFSdGz49evXjB49mlKlStGjR9yTlnQ6KFJEPazt7WHOnHf7goPVw/vixWhRT6NHx5ifIPKhHxO5c6sYbinhzRs1tBWVUaOUA75lS3j1KnZ7AwICaNWqFR999BE7d+60+HoLqY2UbttSSmbPnk3atGmpUSOOUB4LI6pIaPUkUi/GjEO855oVQtgD8QbfG45zA5oDn6Ay0X4wZ1kIkQUYAcQwA8G0rFq1ihs3brBgwYJYcxz98496qDs4QGDg+/vu31cP9Fhju1u3VksiSZNGRW1E9jYiU3uAGv7KlEnZ9ttv758XGBhI06ZNEUKwa9cu8uVL9RGfFoU52vapU6e4fPkyX345jfz5LTftSHSyjR+miYQFEKtQCCHGCSGCgYpCiCAhRLBh/SFgRIYWagDXDdln3wAbiXnIajrwPyAs4eYnHp1Ox+zZs6levTpNmjSJ8ZiePdWs66icOfPuwR3v8zcgQC3JRLp0aoJeRMT78eG9e7/rpRw69IjGjRvz7NkzfH19KRkZCK6RnKR42962bRsAdeu2tagJdvHxzG0Dj//4SxOJVE6sQiGlnCmlzALMklJmlVJmMSy5pJTjYjsvCo5AlFkG3DFse4sQogpQSEq5I64LCSEGCSFOCSFOPXr0yIhbx8/OnTu5ceMG33zzzQdRQJEpM9atU+vDh78ThyoJyQQ0eLBakhl7ezWvQsrojvRg6tdvwbVrgQQFeZM3b9XYLqGRNFK8ba9bt46SJctRtKjlP1AdrvmTbfyXEBGBPl9+dB9bl2PeGjHGmT1OCNFGCDHbsLSK7xwDMY3Cv3XDGmpv/wzEm2RYSrlUSukkpXTKkyePkbeP83pMmzaNokWLflDuU0o18zOSe/fURKDUSokSkcNSr6lV6wtUqiJ3oA6FCqkUA7aUkyaFSNG2/e+//xIYGEjdui0s3okd6ZNI77MF+/t3zW2OhpEY48yeCYwE/A3LSMO2+LgDRMmEREHeD6vNApQHDggh/gVqAttTwqG9d+9eTp8+zcSJE9/zTfz3n3IURyIlFvHDjIiIoFu3bhw9upfVq1cQEtKKdu3UvvPn1cQ9IdRcD41kIUXbtru7OwAuLrHkurcQojqun7j/ia5gEXObpGEkxjizWwKNpZQrpZQrgWaGbfFxEigphCgmhEgLdAG2R+6UUr6QUuaWUhaVUhYFjgFtpJQmz0w7f/588ubN+16kU2Cgml0dSeSEt9SOXq+nX79+bNmyhXnz5tG7d28yZYItW5TQLV/+7ticOdWEvtBQ89lrJaRo296zZw+lSpWnUKESyWG7WYguEhElypjbJI0EYOzsq6i5fbMZc4KUMgIYjsoNdQXYLKW8LISYJoSIoeRIyvDPP//g7e3N4MGD384ruH1bhb6CyjsjZezhq6kJKSXffPMNa9euZdq0aYwcOfKDY/r3V98nMufN48cqvXm+fPDwYQobbCWkZNuOiIjg6NGjVKtW3yJ6t7EhXjxHZsmmiYSFYkyc3UzgrBDiT9TYbH1gvDEXl1J6A97Rtn0fy7ENjLlmUlltSOM6cOBAQL1dR2aB7NsXVho1Q8RIIjOKmYiffvqJuXPn4urqysR47vXrr6pwUo8eKvPsw4dKLNauVds0EkZKte3z588TEhJCpUr1EnsJsyJePEdmy0549do8POD/Lo++hkVhjDN7A2qMdYthqWXYZnHo9XpWr16Ns7MzhQoVIiSE9+oMJ6tIgEpB6eyczBdVLFmyhHHjxtGtWzfmzZtnVP4mOzuVtFDKd7mievZUvad//zWJmRpJZPt2NaJVsWJdM1uScByu+ZP3szJkXLfUsEETCUvFGGf2PinlPSnldimlp5TyvhDCIpPl7Nu3j8DAQPr37w+oUoeRmCRP3Llzaklm3N3dGTp0KC1atGD16tWJyt80c6aqXRxJsWIqGeHVq8loqEaSuX79OmnTpiNfvoLmNiVBvPVJCMGbmvXNbY5GEolrwl16Q93s3EKIHEKInIalKFAgtvNSM25ubuTOnZu2bduyfv277SZLJvrVV2pJRv7880969OhBrVq1cHd3j3VGuTFkzKi+e2SSwwsXVF2MokVV6nUN83P48BEaNmxFjhzmtsR4NMe19RHXq+hgVH3sMrxfL9sTlb7Aovjvv//w8vJiwIABPH+e7m2Jwzt3zGtXQjh9+jQuLi6UKFECLy8vo5MYxkfz5kowIosm3bqlelv16qlSsRrm4e7du9y69S8VK9bBUvI5ihfPydXpc00krIy4ZmbPN9TNHiOlLC6lLGZYKkkpLS7F49q1a9+GkkbWn/7f/94PiU3NBAQE0KxZM3LmzMnu3btNkgG1XDklGG6G1wA/P1WPo1o1lTZEI2XZuXMnABUq1DGzJcYjs2Un+JvpmkhYGcY4s1PxvGTj0Ov1rFmzhtq1a/PmTUlu3VLbv/nGvHYZy7///kujRo2ws7Njz549OJpY3YYNU9lyIxMQnjmjEhT+/rtJb6sRjchqd6VKJSRvjHlwuOZP2pOHAXjVfaAmElaGTVSx8fPz48qVKwwaNIjvDQGM/v7mtclY7t27h7OzM69evWLPnj0pluTPzk4lINTrVY1vUGG0derEnd5cI/k4c+YMFSo4kSlT4v1QKUGkTyL7qL5a19NKicuZXcfw10JGR2PHw8ODdOnSUbJke7ZsUW/KZcumwI3/7//UkkiePHlC48aNuX//Pt7e3lSsmKhyt0kisjhTSIiq733kiEpvXqaM5cxet0SklJw+fZoKFT4lNddZiuq4frp6uxYCa6XE1aNYYPh7NCUMMRVv3rxh48aNtGjRgsaNVeGItWvjOSm5qF1bLYng+fPnNG7cmOvXr+Pl5UXNmjWT2biEkSmTSnOy1BASHxCgsthGrmskLwGG9PR58qReJ5oW3WQ7xCUU4UKIVYCjEGJB9CWlDEwqe/bs4eHDhzRq1I9Xr5TDtlRKZTU+ckQtCeTly5e0atWKS5cusW3bNho2bGgC4xLHwIGqJ/H552p98GDo2tW8NlkjVw0TWsqVq2VmS2In42+LNJGwEeISilaoXDZhvB8eG7lYBB4eHmTNmpXhw1Vxoq1bU/Dm48erJQGEh4fTsWNHjh49yu+//06zZs1MZFziEQL27YP9+9X6xo1qWErzXSQfhw8rx3Dp0qmwpohh4lHQlJ95vOO4JhI2QFzhsY+llBtRWS/XRF9S0MZEExYWxtatW6lXzwVQRSZSc8G3iIgIunfvjo+PD4sWLaJjx47mNilOGjZUvsv8+dV8lEyZeG8io0biefToEQ4ODmTOnNXcpryHwzV/cnVogN2De+DggM6xsLlN0kgBjIl6eiKE2CqEeCiEeCCE8BBCWEQ+gR07dvD8+XOePOkFwN1UXCdFp9PRv39/3N3dmT17NoMGWUbtAXt7VcdjyhS13r075MhhwtnuNoKXlxf16jUjm1G5mlOGSJ+Ew81riOAgc5ujkYIYIxSrULn2C6DKPXoZtqV6Nm/eTJ48eTl2rCEVKkCBVJp4RK/X079/f3777TemTZvG6NHxFkZLdUyeDPfvq8/Pn0OuXFoa88QSERFBcHAwOXPmI0MGc1uj+KDokFbj2qYwRijySilXSSkjDMtqIOn1SE3M8+fP8fLyInfujoB9UqJUTYper2fQoEGsWbOGKVOmMGnSJHOblGjy5VMT9UqXVtX08uVT6UE0EkZAQADh4eFUrfqZuU0BwOH6VS26ycYxRigeCSF6CCHsDUsP4ImpDUsqW7duJSwsjCtXegPQ0piafMnNvHlqiQW9Xs+wYcNYsWIFkyZN4vvvYyxnYFHY2akMtD4+at3XVyUZ1HJGGc/FixcB+PjjSma2RKHPnpOIshU1kbBhjBGKfkAn4D5wD+hg2Jaq2bp1K3nyFAac6NjRTBXrKldWSwzo9XoGDhz4tq7EtGnTjKopYSk0awb37qnPt26pnFHXrpnXJkvhxo0bABQsaN7Sp/aB/8CbN+hz5eHJht2aSNgwxuR6CpRStpFS5pFS5pVStpVS3koJ4xJLSEgIe/bs4dGjtoBglbk8Knv3qiUaOp2OwYMHs3LlSiZNmsQPP/xgBuNMz0cfKaf25MlqvXRpVctbI278/PzInTsfGTIkT3bgxOBwzZ/crWuSbaKr2mBFLzEaCccqcz35+voSFhYGtKN2bRW2aRZmzFBLFHQ6HX379mX58uVMmDDB6noSMTFlChimBdC+/Qf/JBrRePnyJVmz5jBbxFNUx/XLQaM0kdCwTqFYv3496dLlA+qybJm5rXlHZAjs2rVrmT59OjNs6IlZu/a78ORJk1RyQS1XVMwEBFyjUqWaZol40tJyaMSE1QlFUFAQ3t7evH7dGXDgk0/MbZFCr9czYMCAt9FNEydONLdJKU6BAhAWpj4fOaJqgUSuayiePn3Kw4cPKF68XMrfPCKCnP3baSKh8QFGC4UQoqYQYr8Q4rAQoq2R5zQTQgQIIa4LIb6LYf/XQgh/IcQFIcQ+IUSRhBgfEzt37uT169dAx7eTwMxNZE9i9erVTJkyhcmRg/Y2SLp0qifRubOad5Ehg2VVGQTTtutIR7ajoxkc2Q4OPFuwVhMJjQ+IK834R9E2fQ20AZoB0+O7sBDCHlUytTnwCdBVCBH9/f4s4CSlrAj8AfzPeNNjZvv27UA+oDYjRyb1aklHAkOHDtVEIgpCqPxQ336r1gsVgkWLzGuTsZi6XZ87dw6A/PmLJYu9xuBwzZ+Mq34FKQmvXF0TCY0PiKtHsVgIMUkIkd6w/hzoBnQGjJm/X170KV4AABQWSURBVAO4LqW8KaV8A2wEXKIeIKX8U0oZmUruGJCk1CBv3rxh505voCVgR/bsSbla0pGLFzOjYEGWLVvGuHHjNJGIxo8/wsGD6vOwYdCkiUWk/jBpu37+/DkA+fMnuXNtFJE+iSwLfkA8f6Y5rjViJK6kgG2Bc8AOIURP4CtAD2QEjBl6cgRuR1m/Y9gWG/0Bn5h2CCEGCSFOCSFOPXr0KNYL/PnnnwQHBwHtOHHCCAtNiJSSrxYt4vvff2f06NFWGwKbVOrVgxcv1Oc9e6BmTTW7OxWTbO0aPmzbN2/eJHv2nGTJYvq3nOiOa5kjFVdI0jArcfoopJReQFMgO7AFCJBSLpBSxv60fkdMryYxvi8aZns7AbNisWOplNJJSumUJ0/s2UO8vb2BDIAz1asbYaGJkFIycuRIbi5YwLI2bZg1a5bVh8AmhaxZld+iWzc4cUIVSXuSeuf+J1u7hg/b9n///Ue+fI4mj3jSops0EkJcPoo2Qgg/YD9wCegCtBNCbBBCfGzEte8AhaKsFwT+i+E+zsAEVDrzJCV68PT0AT5j1Kj08R5rKvR6PUOGDOGXX37h54IF6f/ihSYSRiAE/P47RFZ7zZ373czuVIZJ23VgYCDZsuUkS5Yk2xknac6eAHt7TSQ0jCKuHsUMVG+iPfCTlPK5lPJr4HvAmHGUk0BJIUQxIURalNBsj3qAEKIKsAT1Y0pSrtFr165x69bfQCuGDk3KlRKPTqdj4MCBLF26lPHjx/Pxxx/H+PqpETvnz8N0Q6hEgQJwOvWVyDJpu75w4QLZs+fGzlSB62/eABDauQ8PDwZoIqFhFHE1xxeoH0EX4G1jl1L+LaXsEt+FpZQRwHBUlbwrwGYp5WUhxDQhRBvDYbOAzIC7EOKcEGJ7LJeLl61vS9e1Nktxojdv3tCrV6+3aTlmzJihiUQimTjxXaoPJyfMl4IlBkzZrqWU6PV6MmY0TbEih2v+5P2sDGmPHFD3y2zibouG1eAQx752QFcgHBXtlGCklN6Ad7Rt30f57JyY68aEu7snUJUOHVK+4lZYWBhffPEFPj4+zJw5k++++yC0XiOBtGunehPVqkG/fnD7NqSW5LqmatdvDG/7xYsn/yxRh2v+5Or0OQiBLm/+ZL++hnUTXynUX6SUi6WUqbqc1aNHjzh9+hjgwpgxKXvvoKAg2rRpg4+PD0uWLNFEIhmpWlXVtQCVWDBtWutOV/7a8OWKFy+frNeNKhKP3Q9oRYc0EoxVpPDYvXs3KvCkBZ9+mnL3vX37NnXr1mX//v2sWrXqw/Kla9eqRSPRZM8OISFQvTqEh6t05WssomJ7wtEZ4oKzZ8+bbNe0vxuoiYRGkrEKodi0yQfIzZgxVVPsnhcvXuTTTz/l1q1b+Pr60qdPnw8PKlRILRpJIlMmFTYbqcN9+sDmzWY1ySSEh4cDkCdP8tXs1X3kSGi77ppIaCQJixcKnU6Hr68v0JxevVLm6/j5+VGvXj2EEPj5+eHsHMuQ9KZNatFIFpYseefY7twZhgwxrz3JTXh4OA4O/9/e+UdXVV15/LOTAAqKSCKiVUFTESkov9QJlgFEEQmO1FUELf6g/lhpxTqO2qm4BmeBaB2tnWW1NViQalFh6OLHsopGCRqloGAAgWrENlZcQwrIiCWSBLLnj3Ojj5fk5Sbv3nffS/Znrbty33nnnu+57+2Xfc+vfXLo2TP5FkXOR38m67NPITub/ff9wpyEkRQZ7yjeffdd6ur2AhMYNCh8vVWrVjFu3DhOPPFE1q5dy6BEor/5TeYEMcoQbrgBtm1z58XF7nV7oa6ujry83uTkJPezbFhMd/yMazIiJoqR/mS8o1i8+I9AFtOnXxK61pIlS7j88svp378/ZWVl9OmTmng8xpEMGODCfmRlufGKm29uH3tbVFdXk5vbi+5JzI6NHbj+4uGnLHaTEQgZ7yheeGElMJI77sgNVae4uJipU6dSUFBAaWkpvXoFN+BotJ7u3d1eFuedB7/9rRu/aA8Pz506daZLl7ZdG+skbMW1ESQZ7Sg+/fRTdu3aAkxkYLAzCr9GVZk9ezZFRUVcdtllvPLKKxwX1R6VxhF06gTr18Pdd8P8+XDttZntLGpraznrrMFtbgR0n32nOQkjFBItuEt73GwnGD9+Qigt7Lq6Om677TaKi4u57rrrmD9/Pjk5Gf2RtTtE4KGHnMNYtAjWrIFPPoHs7Khr1noOHz5Mbm78NjD+2ffY78nat5fD+f0CrJVhZHiLYt68PwJ9ueeeswMve//+/RQWFn69iG7hwoWtdxJLl7rDCBUR5yBGj3b7cp9xBlRXt3RVepKV1ToPl1OxnR53TIeaGrRnrjkJIxQy1lHU1tby0UevA5cxcmSwzYmKigoKCgpYvXo1CxYs4MEHH2xbBNi8PHcYoSMCpaUwcyb87W9wzDFuoV6mkZ9/ju+8DWMSXdasIruqUQBbwwiMjHUUq1evAw6Qm3tJoN1OK1euZPjw4VRVVfHqq68yffr0the2cKE7jJQxdy7cc48bq8jLS+t9LZqkR4/m91uJpVFYjtNSt3Wq0fHIWEfx6KMlQDbz5o0JpLz6+nrmzJnDpEmTOOussygvL+eiiy5KrlBzFJHwwANu+UpNjXMWlZVR18g/xx57fIt5LHaTkWoy1lGUlLwCXEBhYfJbRu7fv5+rrrqKWbNmcc011/DGG29wqoXeyGiKiuBXv3Lnp58OW7dGWx+/9OjRclel1BykvmeeOQkjZWSko9i9ey+wARjX5jnnDWzevJlhw4axfPlyHnnkEZ599lm6du0aRDWNiJkxAzZscOeDBsHatdHWxw/duzffosj6fA8AdYOGsvu1LeYkjJSRkY7iiSdeB5Tbb7+0zWXU19dTXFzMiBEjqK6uprS0lDvvvNO2LW1nDBsG69a58wsvdLOj0pXs7Gw6d2561lNOxXZOGPMdus37pUsIbQs8w2hMRlrbY4+VAN25667hbbr+s88+o7CwkKKiIgoKCti4cSMjR44MtpJG2nDBBW5GFMCYMW4ldzqSnZ1Dt26N0xtiN5GVxcGLJqS+YkaHJyMdxb59JcBFnHJK69Y1HDx4kAceeID+/fuzZs0aHn/8cUpKSujdu+2LnBLy0kvuMCJn9GjYvt2d33yzCyiYbmRnZzfqSo11EjYmYURFxjmK6uoa4BPGjfO/26SqsmzZMs455xzuvfdexo4dy9atW7n11lvD7Wrq2tUdRlpw9tmwaZM7LyqCZ56Jtj7xZGVlH7GiXA78g9ypF5uTMCIn4xxFVdWXAEyb1vLUVVVlxYoVnH/++Vx55ZXk5OSwatUqli9fTn5+fthVhV//2h1G2nDuubB7twvxcf316bVwPitu3EG7HcP+/3jEnIQRORnnKA4c+BLoxeTJzQc9q62tZdGiRQwdOpRJkyaxd+9ennrqKTZv3syll7Z9ALzVLFnSPrdiy3Dy8mDPHjdtdvLk9OkdbAjfkVOxnS5vlgDw1feuMSdhRE6ojkJExovIhyKyQ0R+1sT7XURksff+ehHp21KZNTVf0qvXKI46qnGX0ccff8ycOXPIz89n2rRpHDhwgKeffpqKigpuuukmOnXqFMh9GZlPjx5u6my3blBYCCUlrbs+DNvOysr6ekziuJ/eArW1rauUYYREaKFQRSQbeAK4BNgJvCsiK1V1e0y2G4F9qvptEZkKPARMSVxyHQMHjv76VVVVFUuXLmXx4sWUlZUBMHbsWIqLixk/fnyj5rxhNNCzJ+zYASedBOPG+V9nEZZtd6nXrweuP//9y9C5c1tuyzACJ8z/oucDO1T1L6paC7wAXBGX5wrgd975UmCs+BhdHjWqO3PnzmXUqFGcfPLJzJgxgz179jB37lwqKyt57bXXmDBhgjkJo0V69/4mxMeIEb4vC8W2e+/fB1lZtp+EkXaEubnCt4BPY17vBC5oLo+qHhKRL4BcYE+igu+771oAhgwZwsyZM5kyZQoDw9q5yGj39OkDFRXQz3+E7nBsW2DXc6Uc6tMf6nzXxTBa5NAhgLbP8AzTUTRVq/j9x/zkQURuAW7xXtYAWwHKy8spLy/n/vvvT6aerSGPFpxYkyQ/BbdtuskTlW6U2n5GjsOy7dpTLj73Ax/6AXO4J2R/nnrdKLU7mq4ANW2e6hmmo9gJxEbWOwWID5rfkGeniOQAxwGNPkRVnQfMAxCRDaratiXZSRKVdkfTjVJbRDb4yBaibddE9D0fivB7Tr12R9Nt0G7rtWF24r8LnCkip4tIZ2AqsDIuz0rgeu/8+8Bq1Uze9djoIJhtGx2K0FoUXr/sDOAVIBtYoKrbRGQ2sEFVVwLzgWdFZAfuaWtqWPUxjKAw2zY6GmF2PaGqLwEvxaXNijk/CExuZbHzAqhaW4lKu6PpRqntS7ed2bZ9z+1fNyltsdawYRiGkQhbaGAYhmEkJG0dRRghEgLS/TcR2S4iW0TkdRHpE4SuH+2YfN8XERWRQGZP+NEVkau8+94mIs8FoetHW0ROE5FSESn3PvOkN2QQkQUi8ncRaXKDVHE85tVpi4gMTVYzpuxI7Nqndii2HZVd+9UOw7ajsGuv3HBsW1XT7sANEH4MnAF0BjYDA+Ly/Bh40jufCixOke4YoKt3/qMgdP1qe/mOBd4E1gHDU3TPZwLlwPHe614p/J7nAT/yzgcAlQHo/jMwFNjazPsTgJdxk8//CVifyXYdpW1HZddR2nZUdh2mbadriyK08B/J6qpqqapWey/X4ebQB4GfewaYA/wXcDCFujcDT6jqPgBV/XsKtRXo7p0fR+P1Cq1GVd+kiTUNMVwBPKOOdUAPETkpWV2is2tf2iHZdlR27Vc7DNuOxK4hPNtOV0fRVIiEbzWXR1UPAQ0hEsLWjeVGnHcOgha1RWQIcKqqvhiQpi9doB/QT0TeFpF1IjI+hdr/CUwTkZ24WUa3BaSdbL3CKjcMu/arHUtQth2VXfvSJhzbTle7hjbadqjTY5MgsBAJIei6jCLTgOHAqCQ1fWmLSBbwS+CGgPR86Xrk4Jroo3FPmWUiMlBV/y8F2lcDC1X1FyJSgFubMFBV65PUTrZeYZUbpbbLGKxtR2XXLWp7hGHb6WrXfuvWiHRtUbQmRAKSIERCCLqIyMXAvcC/qGpNkpp+tY8FBgJrRKQS17+4MoCBP7+f9QpVrVPVvwIf4n5cyeJH+0ZgCYCq/gk4ChcHKkx82UFI5YZh1361w7DtqOzaj3ZDnqBtO13t2m/dGhPEAErQB87L/wU4nW8Gg74Tl+dWjhz0W5Ii3SG4gaozU33PcfnXEMxgtp97Hg/8zjvPwzVdc1Ok/TJwg3d+tmfUEoB2X5of8CvkyAG/dzLZrqO07ajsOkrbjtKuw7LtQIwhjAM3Ol/hGe69Xtps3JMOOA/8P8AO4B3gjBTpvgZUAZu8Y2Wq7jkub5A/qJbuWYBHge3A+8DUFH7PA4C3vR/bJmBcAJrPA/+LC+a9E/d0VwQUxdzvE16d3g/qc47SrqO07ajsOkrbjsKuw7RtW5ltGIZhJCRdxygMwzCMNMEchWEYhpEQcxSGYRhGQsxRGIZhGAkxR2EYhmEkxBxFAIjICSLylohsFZFJMekrROTkNpS13osqOTL42raoXykiCRf+iMjMuNdrw62V0dEQkcMisinm6Csio0XkC++38WcRuc/LG5v+gYg8EnX92xvmKILhalwgtwLgbgARuRx4T1Vbu6J3LPCBqg5R1bJgqxkYRzgKVR0RVUWMdstXqjo45qj00stUdQguxMg0ERkWlz4EmCgiF0ZQ53aLOYpgqAOOBroA9V7ohX8FHm7uAhHp48X8b4j9f5qIDMZF0JzgPUUdHXdNpYg8JCLveMe3myvLS18oIk+KSJmIVIjIRC/9BhF5PKbcF0VkdBN1XC4iG704/bd4aT8Hjvbqt8hL+4f3V0TkYa9l9b6ITPHSR4vIGhFZ6j3xLQooIqrRQVHVA8BGID8u/SvcArYggjgaHuYoguE54FJgFS4q5I9xoXyrE1zzuJfnHGAR8JiqbgJm4fYBGOwZfTz7VfV87/r/bq6smPx9ccHdCoEnReSoVtzXD1V1GO7p7ScikquqP+Obp70fxOW/EhgMnAtcDDwcE8J4CM55DsDF6bcnPiMRDQ8jm0RkWfybIpKLC0GxLS79eFyspjdTU82OgTmKAFDVL1S1UFWHA+8BE4E/iMhT3lN0QROXFeAcDMCzwHd9yj0f87eh3ERlLVHVelX9CBd/pr9PHXDOYTNub4JTaTlY2neB51X1sKpWAW8A53nvvaOqO9VFx9yEc2CG0RyxXU/fi0kfKSLlwKvAz1V1W0z6FmAX8KKq7kp1hdsz6RpmPJOZBczFjVtsxP0DX4HbPSwRfmOpaDPnfvMocIgjHxIatTK8rqiLgQJVrRaRNU3li78swXuxkUgPY7ZntI0yVZ3YXLqI9APeEpFlXgvdCABrUQSIiJwJnKyqbwBdgXrcP+am/sGuxUUHBfgB8JZPmSkxf//ko6zJIpIlIvm4Lp8PgUpgsJd+Km5HrniOA/Z5TqI/rpnfQJ2IdGrimjeBKSKSLSIn4LZlfMfnfRlG0qhqBfAg8O9R16U9YU91wTIXF8sfXNfQcuB2XCsjnp8AC0TkbmA3MN2nRhcRWY9z8lf7KOtDXBfQibgIkgdF5G3gr7jokVtx3WXxrAKKvOb8h7jupwbmAVtE5L24cYpluG6wzTgH+VNV3eU5GsNIFU8Cd4nI6er2mDCSxKLHZhDexi7DVXWPz/wLcf21S8Osl2EY7RvrejIMwzASYi0KwzAMIyHWojAMwzASYo7CMAzDSIg5CsMwDCMh5igMwzCMhJijMAzDMBJijsIwDMNIyP8DJhiZEpb37Y8AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#画出逻辑回归证集的ROC和KS曲线\n",
    "test_perf = perf_eva(y_test, test_pred_lr, title = \"lr-test\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "E:\\studyingPy\\C_card\\lending_club\\perf.py:38: FutureWarning: Sorting because non-concatenation axis is not aligned. A future version\n",
      "of pandas will change to not sort by default.\n",
      "\n",
      "To accept the future behavior, pass 'sort=True'.\n",
      "\n",
      "To retain the current behavior and silence the warning, pass sort=False\n",
      "\n",
      "  ], ignore_index=True)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAADVCAYAAABJ0beGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzsnXdYFUcXh98R7L0bezT2oFhjr4goIvZO7AVLjMYSu4kaaxIb1tgLKPYCdmyx90LE9qnRqFiwgajAfH/sRREpF7kNmPd59oGd3Z09C3Pvb2fmzDlCSolCoVAoFNGRzNwGKBQKhcKyUUKhUCgUihhRQqFQKBSKGFFCoVAoFIoYUUKhUCgUihhRQqFQKBSKGFFCoVAoFIoYUUJhAIQQt4UQdia+pxRCfGOAesYJIVbF8ZpPnlcI0VYIESCEqBXN+TZCiD26cwKEEKeFEA3ia7vCOCTR9vxGCPFaCPFQCLFMCJEu0jlVhRD7hRCvhBAvhBDbhBAlI52TQQgxQwhxV1fXDd1+tvg+l7lRQmEChBDW5rbBWAghOgFugKOU8mAUxwWwHfACcgC5gIHAa1PaqTAcibQ9O0kp0wG2QFlgePgBIUQVYDewBcgNfA1cAP4WQhTSnZMC2AeUAhyADEBV4ClQyXSPYSSklGqLxwasBMKAN2hffkOBgoAEugF3gUO6cysDR4HnaA2tdoR6MgKLgQfAfWACYBXNPQ/p6g/U3bONrrwxcF5X/1GgdIRrhunqfQX4AfXQGvQ74L2ungt6PvNtwA7oCTwBKsRwbi6drenM/b9Sm2rP0dz/NmAXYX8qsCPC/mFgbhTXeQMrdL93Bx4l1nZudgMSwxZFQwv/YK0A0gKpgTxobxeN0Hpy9XX72XXXbAYW6M7PAZwEesVwTwl8E2G/HOAPfAdYAZ10dqUEigH/Arkj2FdY9/s4YFWkun8GtsfyvBt0H4wysfxtkgE30d7GnIEc5v5/qU215+ieF8gLXAJm6vbTAKFAnSiu6wI80P3uASw39//OWJsaejIu46SUgVLKN0BHwEtK6SWlDJNS7gFOA42EEDmBhsCPuvP9gT+BtnG4Vw9ggZTyhJQyVEq5HHiL9tYXivYBKymESC6lvC2lvBldRVLKyVLKxrHcrz5wHO1DFS1SyjCgNtrb35/AAyGEjxCisL4PprAYEnN73iyEeIUmQP7AWF15FjQhfBDFNQ+A8PmHrNGckyhQQmFc/o3wewGglRDiefgGVAe+0h1LjvYlGn5sAdqbGEKIK7rJsddCiBrR3KsA8FOk+vOhvXXdAH5Ee9vyF0J4CCFyx/PZegNFgb908xDobP0rgq1DAaSU/0op+0gpC6GN774HlsXz/grTk5jbc1MpZXq0l5rifBSAALShuK+iuOYrtKFX0HpTUZ2TKFBCYRiiC8EbsfxfYKWUMlOELa2UcrLu2FsgW4RjGaSUpQCklKWklOl02+Fo7vUvMDFS/WmklO66OtZIKaujfQAlMCUW22PDH21cuAYw98MDS9k9gq1TP/uDSHlXd/63X3hfhfFJiu0ZXb0H0V5ipuv2A4FjQKsoTm+NNoENsBdoIIRIG5/7WypKKAzDI6BQLOesApyEEA2EEFZCiFRCiNpCiLxSygdoXhW/61zskgkhCkfnbhrNPRcBvYUQ3wmNtEIIRyFEeiFEMSFEXSFESiAYbaIyNEI9BYUQcW4LUsr/gLqAgxDiz6jOEUJkE0KMFUIU0tmVHW1s93hc76cwGUmyPUdgBlBfCGGr2/8Z6CSE+EF3/8xCiAlAFeAX3Tkr0cRtgxCiuO6ZswohRgghGsXDFsvA3JMkiWFDm6S9i+adMZiPk3/Wkc77DjgIPAMeAzuA/LpjGYF5wD3gBXAOaBvDPXujjYk+B1rryhyAU7qyB4AnkB4ojTaZ+Ep37+18nAjMChxB62Kf1ZWNALxjuPdtPp3s/BrtQzIpinPTo02C3kHzankIrAa+Mvf/TW2qPUfVnnVl84ANEfarAwfQvKle6p7120jXZEQTmX91590E/gCymvt/Gt9N6B5QoVAoFIooUUNPCoVCoYgRowmFEGKJEMJfCHE5muNCCDFLt8z9ohCinLFsUSgMiWrbiqSGMXsUy9DGGKOjIVBEt/VEGxNUKBICy1BtW5GEMJpQSCkPoU00RYcz2vJ3KaU8DmQSQiRaP2RF4kG1bUVSw5xzFHn4dAHPPV2ZQpHQUW1bkagwZxRIEUVZlC5YQoieaF140qZNW7548eLGtEuRhHj+/DkPHz4kMDAwvOiJlDJ7PKtVbVthWQQHc+bKlS9u2+YUintoS/LDyQv8F9WJUsqFwEKAChUqyNOnTxvfOkWi5vjx4/zwww/cvHmTTJkyAdC7d2/mz59/xwDVq7atMD++vrBuHYwdC0IghPjitm3OoaetwPc6D5HKwAuprehUKIzG+fPncXZ2pkqVKty5c4cBAwbw/PlzmjZtypw5cwx1G9W2FebF1xfq1IEFC+DRo3hXZ7QehRDCHS3AVjYhxD20aIzJAaSU89ES2TQCbgBBaGEdFAqjcPbsWUaNGsXOnTvJlCkTo0aNom7dujg6OlKpUiVWr16NlZWVXnWptq2waMJFIlky8PGBXLniXaXRhEJK2S6W4xLoa6z7KxQAgYGBjB49mtmzZ5MlSxZGjRrFgAEDePr0KdWqVSNXrlxs3bqVNGnS6F2natsKiyWySBhozisxpjRUKHjx4gVTpkxh0aJFPHnyhK5duzJt2jSyZMnCo0ePcHDQlkHs2rWLnDlzmtlahcJA3LwJqVLBrl0GEwlQQqFIZLx//55ly5YxZMgQXrx4gbOzM4MHD6Z69eoAvH79msaNG/Po0SN8fHwoUqSImS1WKAxAUBCkSQNOTlC/viYWBkTFelIkCkJCQli+fDnffvstPXv2pFSpUpw9e5bNmzd/EImQkBDatGnD2bNnWbt2LZUqJfyc9woFvr5QpAhs2qTtG1gkQAmFIoETEhLC4sWLKVq0KJ07dyZ16tRs3LiRI0eOULZs2Q/nSSlxdXXFy8uLuXPn0rhxbJkxFQrTExoaGvtJEQmfkwgLg5IljWMUSigUCZgLFy5QsmRJunfvTo4cOfD09OTs2bM0a9aMCNlZAZgwYQJ//fUXI0eOpFevXmayWKGInlu3bmFra8vevXv1uyDixPWBA1CsmNFsU3MUigTJ1q1badeuHZkzZ2bDhg1RikM4f/31F2PGjMHFxYXx48eb2FKFInZOnjyJk5MT79695+3bFLFf8PChyUQCVI9CkcCQUjJ+/HicnZ0pWbIkx48fp3nz5tGKxPbt2+nVqxcNGjRg8eLF0Z6nUJiLLVu2ULt2bVKlSsvy5UepVKlm7BflzAkDBphEJEAJhSIBERoayk8//cSYMWNo3749Bw8eJG/evNGef/LkSdq0aUPZsmVZv349yZMnN6G1CkXszJo1i2bNmlGsmA3u7scoVSoWl1ZfX7hyBYSAESNMIhKghp4UCYSQkBBcXFzw8PCgT58+zJ49m2TJon/PuXHjBo0bNyZnzpzs2LGDdOnSmdBahSJmwl96Zs6cib19U6ZPX03WrGl48yaGi8LnJHLnhrNnNbEwEapHobB4AgICaN26NR4eHvz222+4ubnFKBL+/v40bNiQsLAwdu7cqRbUKSyKoKAgWrVqxcyZM+nUaQBz5qwna9ZYIgNEnLj28DCpSIDqUSgsHD8/P5ycnLh58yYzZsxgwIABMZ7/+vVrGjVqxP3799m3bx9FixY1kaUKRez4+/vTpEkTTp48yYgRM+jZcwCxjohGDsthouGmiCihUFgs27dvp0OHDlhbW3Pw4MEPC+eiI3xB3blz59iyZQtVqlQxkaUKRez4+fnRqFEjHjx4wKxZG3F2bopecSjHjzd47Ka4ooaeFBbJ3LlzcXZ2plChQpw5cyZWkZBS0rdvX7y8vJg3b55aUKewKA4fPkzVqlV5+fIVS5b40LSpniIBsHgxHDliNpEAJRQKC0NKybx58+jbty8NGjTg0KFDFCxYMNbrJk2axMKFCxk+fDg9e/Y0vqEKhZ6sXbsWOzs7MmfOzpo1x6lR4ztimGLT8PWFpk3h5UsthlPhwiaxNTqUUCgshtDQUHr37k2fPn2wt7fH09OT9OnTx3rdqlWrGDlyJB06dGDixIkmsFShiB0pJVOmTKFt27bY2n6Hu/tRSpUqFOs8tJWfL9StCydOGCTpkCFQQqGwCEJCQujRowcLFy5k6NCheHl5kTZt2liv27NnD126dKFOnTosWbJELahTWAQhISG4urry888/07hxW5Yu3U2ePFlivS75dV8yNa+reTX5+GjB/iwANZmtMDvBwcG4uLiwfv16Ro8eza+//qrXdefOnaNFixaUKFGCTZs2kSKFHqEPFAoj8+rVK9q0aYO3tzc9e/7M0KETSZ069ndy6+v/kMOlLjKZMOvEdVQooVCYldDQUDp37sz69euZOnUqQ4YM0eu6K1euYG9vT6ZMmfDy8iJjxoxGtlShiJ3//vuPxo0bc/HiRX75ZQGdOvWM3f1Vh0yegpDc+Qmat4IsFiQSoIaePmBlZYWtrS1lypShXLlyHD16NE7Xjxs3junTpxvJusTJw4cPcXR0ZO3atYwbN05vkbh+/Tp2dnYkT56cffv2xRjGQ6EwFZcvX6Zy5cpcu3aNuXO30aWLfiKR7MF9kJLQgoW5v+EEoUUsSyRACcUHUqdOzfnz57lw4QKTJk1i+PDh5jYpUXP79m3s7Ow4cOAAc+bMYezYsXpdd+vWLerWrUtISAj79u1TGeoUFsG+ffuoVq0a796FsGLFYRwdG+rl/mp9zZfsDcuTfuporcBC59iUUETBy5cvyZw5M6Ct9K1Xrx7lypXDxsaGLVu2fDhv4sSJFCtWDDs7O/z8/MxlboLj3r17VK1albt37+Lt7U3fvn31uu7u3bvUrVuXoKAg9u7dS4kSJYxsqUIRO8uXL8fBwYGvvsqPu/txvvuurF7f99bXfMnaWpu4ftOio/ENjQdqjkLHmzdvsLW1JTg4mAcPHrB//34AUqVKxaZNm8iQIQNPnjyhcuXKNGnShLNnz+Lh4cG5c+cICQmhXLlylC9f3sxPYfncvXuXWrVqERgYyKFDh7C1tdXrunv37lG3bl2eP3/O/v37KVOmjJEtVShiRkrJL7/8wi+//EL16nbMnLmeXLn0myuLKBJPPX0I+cbyhpsiEm2PQgiRJaZNn8qFEA5CCD8hxA0hxM9RHM8vhPARQpwTQlwUQjSKz8PEh/Chp6tXr7Jz506+//57pJRIKRkxYgSlS5fGzs6O+/fv8+jRIw4fPkyzZs1IkyYNGTJkoEmTJuYyPcFw8+ZN7OzsePr0KXv27NFbJB4+fEjdunXx9/dn165dlCtXzsiWxk5CatsKw/Pu3Tu6dOnCL7/8QosWnVm4cIfeIsHbt2Tp2DDBiATE3KM4A0hAAPmBAN3vmYC7wNcxVSyEsALcgPrAPeCUEGKrlNI3wmmjgHVSynlCiJKAF1Dwyx7FcFSpUoUnT57w+PFjvLy8ePz4MWfOnCF58uQULFiQ4OBgAOWzHweOHTv2IayGt7c3lSpV0uu6Z8+eYW9vz3///cfu3bv57rvvjGmmXiTktq2IP8+fP6dFixbs37+f/v1/4ccfR5MqVRy+C1Km5MWUBYTmK5ggRAJi6FFIKb+WUhYCdgFOUspsUsqsQGNgox51VwJuSClvSSnfAR6Ac+TbABl0v2cE/ovrAxiDq1evEhoaStasWXnx4gU5cuQgefLk+Pj4cOfOHQBq1qzJpk2bePPmDa9evWLbtm1mttpy2b9/P/Xq1SNjxowcP36catWq6XXdixcvcHBwwM/Pjy1btlC1alUjW6o3CbZtK+LH3bt3qV69OocPH2bSpOUMHjxGb5GwvuZLqi1rAXhbxyHBiAToN0dRUUrZO3xHSukthNAn8XAe4N8I+/eAyK+D44DdQoj+QFrALqqKhBA9gZ4A+fPn1+PWcSd8jgK0scfly5djZWVFhw4dcHJyokKFCtja2lJc599crlw52rRpg62tLQUKFKBGjRpGsSuhs2PHDpo1a0aRIkXw8fEhR44cel0XGBhI48aNOXfuHBs2bKBevXpGtjROJKi2rTAMZ8+exdHRkaCgNyxYsJP69evGHrNJx4c5CStr3to7IVPHkn/CwtBHKJ4IIUYBq9DekjoCT/W4LiqZlZH22wHLpJS/CyGqACuFEN9KKcM+uUjKhcBCgAoVKkSuwyCEhoZGWZ4tWzaOHTsW5bGRI0cycuRIY5iTKNiyZQutWrXi22+/Zd++fR88yWIjKCgIZ2dnjh49ioeHhyXO/ySotq2IP15eXrRu3ZpMmbKyatVeypUrpbcna8SJ6ydr9yU4kQD93GPbAdmBTcBmIIeuLDbuAfki7Ofl8+53N2AdgJTyGJAKyKZH3QoLRkrJ5MmTadq0KTY2Nuzfv19vkQgODsbZ2RkfHx+WLVtGq1atjGztF6HadhJi/vz5ODk5UahQMTw8jlO+/BeKhOcBQr8xfdIhQxCrUEgpn0kpB0gpy+q2AVLKZ3rUfQooIoT4WgiRAmgLbI10zl2gHoAQogTah+lx3B5BYUkEBwfTo0cPhg8fTsuWLTly5AiZMmXS69p3797RqlUr9u7dy5IlS3BxcTGytV+MattJgLCwMIYNG4arqyu1azdk5cqDFCr0VZzqSLlvR4IXCdBj6EkIkR0YCpRCa+wASCnrxnSdlDJECNEPbTLcClgipbwihPgVOC2l3Ar8BCwSQgxE67p3llKq7ncCJSAggAYNGnDq1CmGDRvGpEmT9PYMe/fuHa1bt2b79u3MmzePTp06GdnaL0e17cRPcHAwnTt3Zu3atbRv78qYMbNInz4Oy87CwiBZMgJ7D+ZNmy6EZUnYnUl9nnw1sBbN26k30Ak934yklF5oboERy8ZE+N0X0M8FRmHR3Lt3D3t7e65fv87atWtp3bq13te+f/+edu3asWXLFmbPnk3v3r1jv8jMqLadeHn69ClNmzblyJEjDBkyFVfXwaRMqb/7q/U1XzL3akXAnDWElCqT4EUC9BOKrFLKxUKIAVLKg8BBIcRBYxumSDg8ePCAevXq8eDBA7y9vbGzi9LBJ0revXtH27Zt2bRpEzNmzKBfv35GtFShiJmbN2/SsGFD7t69yx9/rKVFi9ZYx6EjYX3Nl6yt6kCyZMiUqWK/IIGgz5/gve7nAyGEI9qknQrXqQDg0qVLODk58eTJE7y8vKhZs6be14aGhvL999+zadMmZs6cyQ8//GBESxWKmDl+/DhOTk6EhUmWLNlHzZrV9HZ/hU9FIqHPSURGnz/DBCFERrQx18HAX8BAo1qlSBBs3LiRihUr8ubNG3x8fOIkEmFhYXTv3p21a9cydepUJRIKs7Jx40bq1KlDunQZWbPmGLVqxU0krG7fTLQiAfp5PW2XUr6QUl6WUtaRUpbXTdYpkjBubm60bNkSW1tbLl26RMWKFfW+NiwsjN69e7Ns2TLGjh2rdx4KhcLQSCn5888/admyJSVL2uLufgwbmyJxjvYdmisPb2s7JEqRgJiDAqYSQnQSQjQRGsOEENuFEDOFEAl/dkbxRQQFBdGpUyf69euHo6Mj+/fv13u1NWgi0atXLxYtWsTIkSMZN26c8YxVKGIgJCSEAQMGMGjQIBo0aM7y5fvJnz97nOqwuuGHeB4AqVLxfObyRCkSEHOPYgVgD3QFDqAFBpwDvAKWGdswheXxzz//UKdOHVasWMHQoUPZuHEjadLov8o0LCyMHj168NdffzFy5EjGj9cnEoxCYXjOnDlDpUqVmD17Nl27DmL27HVkyZI6TnVYX/MlW4uaZB7wvZGstBximswuKaX8VghhDdyTUtbSle8UQlwwgW0KCyEkJIQRI0Ywc+ZMUqRIwbp16+K8YlpKSd++fVmyZAmjR4/ml19+UdF3FSbn9evXjB07lhkzZpA9e05mzlyPs3MLvfNahxNx4vrl6GnGMdaCiEko3sGHxUWRwxNEHRhJkei4dOkSrq6u/P3333Tu3JnffvuNr76K2+pUKSWDBg1i/vz5DB06VImEwix4e3vj6urKnTt3aNeuNz/9NIlcuTLFeT4iokgklHwS8SUmocgrhJiFFgAt/Hd0+3mMbpnCrISGhrJgwQKGDBlC2rRpWbZs2RetlpZSMnToUGbMmMGAAQOYPHmyEgmFSXn06BE//vgjHh4eFClSglWrDlOjRvU4rY/4gJRkGtQ1SYkExCwUEV1RTkc6FnlfkYi4c+cOLVu25PTp09SrV48VK1aQO3fuONcjpeTnn39m+vTp9OnThz///FOJhMJkSClZunQpgwcPJjAwkP79f6F372FkypTyyysVgoB5Hoi3wUlGJCBmocgDeEspz5nKGIX5cXd3x9XVFSklq1aton379l/05R4uElOnTsXV1ZXZs2crkVCYjGvXrtGrVy8OHDhApUo1GDduITY2xeO0NiIi1td8SbNuGS9HTCY0X0GD2poQiOnPdgsYoMv5u0wI0UYIoV+saEWC49GjRzRv3pz27dtTsmRJjh8/TocOHb74y/233377IBJubm4k+9JPqEIRB969e8eECRMoXbo0586d59dfF7FmzQHKlImfSGRtXZfUG1aS7GHSTFQYbY9CSumBluIRIURZwAHYqMsXvBfYKaU8aRIrFUZDSomnpyeurq4EBgYyYcIEhgwZQooUKb64zj/++INRo0bh4uLCnDlzVE9CYRKOHTtGjx49uHLlCo0atWbEiJkULJgrzpPVEYmYT+Kppw9huZNm9CK9pnN0w0/ngElCiAxoSeW7A0ooEjDPnz+nU6dObN26FVtbW1avXk3JkiXjVef8+fP56aefaNWqFUuWLFE9CYXRefHiBSNGjGDevHnkzp2XuXO30ahR4zi7vEYmskgkpTmJyEQrFEKI5jFcJ6WUPY1gj8IESCnZsmULffv2xd/fn2nTpjFgwACSx/OTtWzZMlxdXWncuDGrVq3C+ovcShQK/dm8eTN9+/bl4cOHdOo0gB9/HE/27OkMUneyRw+QqdPwbKVXkhYJiLlH4aT7mQOoCuzX7ddBW6m90XhmKYzFkydP6N+/Px4eHpQsWZINGzZQuXLleNe7atUqunXrRv369fH09IzX0JVCERv379+nf//+bNq0iZIlyzBjxmYqV66IlVX86xavXyHTpeddjXr4H7wKqi1HP5ktpewipeyClp2rpJSyhZSyBVqmO0UC5Ny5c9jY2LB+/XpGjhzJ+fPnDSISa9as4fvvv6dWrVps3ryZVKkSTxx+hWURFhbG3LlzKVGiBN7e3gwePIUNG05RrZphRML6mi85ahQl9YZVWoESCUC/OYqCUsoHEfYfAUWNZI/CCLx7947JkyczceJEsmfPzsmTJylbtqxB6l6/fj0uLi7UqlWL7du3xyn2k0IRF65cuUKPHj04duwY1arZMXbsfEqUKPzF3kyRibji+n2ZCoapNJGgj1AcEELsAtzRehdtAR+jWqUwGJcvX6Zjx45cuHCBFi1a4ObmRs6cOQ1St7e3N+3bt6dKlSps27ZNiYTCKAQHBzNx4kSmTJlC+vQZmDx5Ba1adSRVKsN50yXFsBxxIVahkFL2E0I0A8Kz0iyUUm4yrlmK+PL+/XumTZvG2LFjyZIlC5s2baJp06YGq3/fvn00b96cb7/9lu3bt5MunWEmEBWKiBw4cICePXty/fp1mjX7nqFDfydfvmzxcnmNTLJnT5RIxIK+bilHgRC0HoVyibVw/Pz86NKlC8eOHaN58+bMnTvXYL0IgMOHD+Pk5MQ333zD7t27yZQpk8HqVigAnj17xtChQ1m8eDEFChRi8eI91KtnF2+X16gIy5KN1/1H8LZ2AyUS0RDr6J4QojWaOLQEWgMnhBAt9alcCOEghPATQtwQQvwcXf1CCF8hxBUhxJq4GK/4lPAuepkyZfD19WXNmjVs2LDBoCJx5swZnJycyJ8/P/v27SNbtqSXw0q1a+MhpcTDw4MSJUqwbNkyevQYxrZtl3BwMLxIWF/zJfnFMwAEdh+gRCIG9OlRjAQqSin9AYQQ2dFWZq+P6SLdCm43tMV594BTQoitUkrfCOcUAYYD1aSUAUII/VOlKT7hxIkTuLi4cP36dZydnZk/fz65cuUy6D2uXLlCgwYNyJQpE7t3745TZrvEgmrXxuP27dv06dMHb29vypSpyIIFuylfvoxBvJkiE76YLixzVh7vvYhRbpKI0MdfIFm4SOh4qud1lYAbUspbUsp3aOFAnCOd0wNwk1IGAES6j0IPgoKCGDZsGJUrV+bNmzfs2LGDzZs3G1wk7t27h4ODA8mTJ2ffvn3kz5/foPUnIFS7NjAhISH8+eeflCpVikOHDjFixAw8PY9RqZJxRQIheLZooxIJPdCnR7EzgtcTQBvAS4/r8gD/Rti/B3wX6ZyiAEKIvwErYJyUcmfkioQQPYGeQFL+gvoMPz8/mjRpwrVr1+jatSvTp08nc2bDx218+vQpDRo04MWLFxw6dIjChQsb/B4JCIO1a905Sbptnzt3jh49enDmzBnq1HFkzJi5fPNNfoO5vEYmonfTE88DiTbHtaGJ9d8hpRwCLABKA2XQvJ6G6VF3VH4JMtK+NVAEqA20A/4SQnw2MyqlXCilrCClrJA9e9ySnydGQkJCmDZtGhUrViQgIIBdu3axePFio4hEYGAgjo6O3Lx580NMqC/h0aNHtG/fnkKFClG+fHmqVKnCpk3xd56rXbs2p0+bND2Kwdo1JN22HRgYyJAhQ6hYsSJ3797jzz/XsXjxNooWNZ5IAKSbP12JxBegr9fT38B74ub1dA/IF2E/LxA5Ru894LiU8j3wPyGEH9oH7JSe90hyRPRocnR0xM3NjQIFChjlXm/fvqVFixacOnWK9evXU7t27S+qR0pJ06ZN6dSpE2vWaPO6d+7cYevWrQa01mSodh1Pdu3ahaurK//73/9o06YHgwdP4auvMhvU5TU6nk+ah5X/gySZUyI+GNPr6RRQRAjxtRAiBdpCvcjfDJvRYkchhMiG1mW/pb/5SYfQ0FB+//13bG1t8fX1ZeXKlWxgEe+3AAAgAElEQVTfvt1oIhEWFoaLiwu7du1i0aJFNGvW7Ivr2r9/PylSpKB3794fygoUKED//v0JDg6mS5cu2NjYULZsWXx8tLWc0ZW/efOGtm3bUrp0adq0acObN2/i96BxR7XrL8Tf35+OHTvi4OBAsmQpWLHiIFOnLiR3buOKhPU1X7K0b0CyZ08gZUolEl+A0byepJQhQoh+wC60cdolUsorQohfgdNSyq26Y/ZCCF8gFBgipXz65Y+TOLlz5w69evVi165dODk5MX/+/C9KTaovUkp+/PFHPD09mTZtGl27do1XfVeuXKFcuXJRHnNzcwPg0qVLXL16FXt7e65duxZt+bx580iTJg0XL17k4sWL0dZrLFS7jjtSSpYvX85PP/3Eq1ev6NdvLK6uw+OXklRPIs5JiIBnkCXpuXMbAn2E4ku9npBSehFp4ltKOSbC7xIYpNsUUbB06VL69u2LlJJ58+bRq1cvoycCGjNmDLNnz2bQoEEMHjzY4PX37duXI0eOkCJFCvLmzUv//v0BKF68OAUKFODatWscOXIkyvJDhw7xww8/AFC6dGlKly5tcPtiQ7Vr/blx4wa9evVi//79VKhQjXHjFlKmTEmjzkOE89nEdWEVou5L0efftVMIsUsI0VkI0RnYgX5eT4p48PLlSzp06EDXrl2pXLkyV69epXfv3kYXiRkzZjBhwgS6devG9OnTDVJnqVKlOHv27Id9Nzc39u3bx+PHj9G+Uz8nunJAZcxLALx//55JkyZhY2PDqVOnGTduPu7uhyhb1kQicf0f5d1kQIzp9aT4Qs6dO0eVKlVYu3YtI0aMYNeuXUabi4jI6tWrGThwIM2bN2fBggUG+0KuW7cuwcHBzJs370NZUFAQADVr1mT16tUAXLt2jbt371KsWDG9yi9fvszFixcNYqPCcJw4cYLy5cszYsQI6tRpzI4d/9C9ey/SpDFdtsOwtOkJ+aa4EgkDoW8q1I2oREVGJygoiJEjRzJnzhyyZMmCl5cX9vb2Jrm3l5cXnTt3pk6dOqxevRorAy5CEkKwefNmBg4cyNSpU8mePTtp06ZlypQpODs707t3b2xsbLC2tmbZsmWkTJmSPn36RFnu6upKly5dKF26NLa2tlSqVMlgdoaGhgJkMViFSYxXr159aL+5cuXGzW0Ljo5NjBKfKTqs7t8lNFcewnLn5en6A5jElSoJIKLr4gshugFZpJTTdPv3gAxofuRDpZTzorzQyFSoUEGa2G/e6Egp8fT0ZOjQody5c4fu3bszefJksmbNapL7HzlyBHt7e0qUKIGPjw8ZMmQwyX3NxcuXL3Fzc+P+/fs0adKE+vXrM2fOHKZPn87du3efSykNvyBFDxJy2966dSt9+/bl/v37dOzYj4EDJ5AjRwaTfk+Hr7h+49yOl7/8abobG5A3byBDBjDGkhohxBkp5Rcl2oipL9gbWBJh/7GUMgOQHW0RkcIAPH36lHbt2tGmTRvSpUvHwYMHWbRokclE4vLlyzg5OZEvXz527tyZ6EUCwMXFBT8/P2xsbPjrr7+wt7dn/fr1bNmyBeCmue1LSDx48ICWLVvi7OxMunSZcXc/xoQJs8iZ0zwigRAEuvSO/QJFnIhp6ClZJJc+TwApZbAQIrVxzUr8hIWFsXTpUoYNG8aLFy8YP348w4cPN+iQT2zcvn0bBwcHUqdOze7du0kqK4Nv3brFpUuXAOjevTvZsmXj7t27pE+f3syWJRzCwsJYtGgRw4YNIzg4mIEDf6Nnz8FkyGDCcSYdEUVCzUkYh5iEImPEHSnlbwBCiGSAaV53Eyn379+nadOmnD59mqpVqzJ//nxsbGxMasOjR4+oX78+gYGBHDx40CST5ZZC8giD5lZWVnz99ddKJOKAr68vPXv25O+//6Zq1bqMGTOfUqWKmMSb6TPevydLZyclEkYmJqHYLYSYIKUcFan8V2C3EW1KtEgp+eOPP/j1118JCQlhwYIFdO/enWQm/oS9fPmShg0b8t9//7Fv3z6zrEUwJxcuXCBDhgwfXHDfvHkTcd8wycQTIW/fvuW3335j0qRJpEuXnkmTltG69fcGTUkaZ5In5/nvSwjNnkuJhBGJSSiGoAUzuwFc0JWVAU4D3Y1tWGLj5cuXfP/992zZsoVGjRoxbdo0SpYsaXI7goODadq0KZcuXWLr1q1UrlzZ5DaYG513U5QIIc6Z0JQEw6FDh+jZsyd+fn44O3dg2LA/yJ8/h9mciqyv+ZL83AnetOnCuyq1zGNEEiJaoZBSBgLthBCFgFK6Yl8ppZrsiyOHDx+mY8eO3L9/n+nTpzNo0CCzLBoLCQmhXbt2+Pj4sHLlSho2bGhyGyyB4OBg5s+fz40bNyhdujRdu3bF2lrf+JhJi4CAAIYNG8aiRYvIl68gCxfuxN6+gUldXiPzYU7CyorgRi2Q6RO/A4a50WfB3S0p5TbdpkQiDrx8+ZJOnTpRs2ZNQHsr++mnn8wiEmFhYXTu3JnNmzcza9YsOnbsaHIbLIVOnTpx+vRpbGxs8PLy4qeffjK3SRaHlJJ169ZRokQJlixZQvfuQ9i+/TKOjoYXCW9vyJMHbtzQ9o8ehe+///ScH3+E7ds1kcjQyp7hgSMpYvU/6jhnwNER9u//vN6AAGjbFqpV034+fx71/fPlg/r1ta1z54/lS5dq1+bJA8+eGeRREyzqNcpIXLhwgSZNmvDvv/8yYsQIhgwZQqZMUaYkMDpSSgYOHMjq1auZOHHihxhKSRVfX98PXk/dunUz6KK9xMDdu3fp27cv27dvx8amPHPnelOxYlmjJYLbvBkqVYItWyAmzbZ68C9ZR9VleNBIbtf4nn3zUpAyJTx+DMeOfX6+mxtUrw79+sGcOdr+yJGfn5cqFezZ83l5xYpgZwct9YmVncgxh59CoiYsLIy5c+dSrVo1QkNDOXz4MBMnTjSbSABMnDiRWbNmMXDgQIYPH242OyyFiF5PasjpI6GhocycOZOSJUuyf/9+fv75Dzw9j1O5svFEIjAQTp+G6dM1oYgJa78rBIm0/GXdh/EzM5JSF3w2e3Zo0uTz83ftglattN9btYKdUeYYjJ5vv9V6G4oYehRCiBhDGUgpk3hn7HMiRsqsU6cOy5cvJ5+ZW9r8+fMZPXo0Li4uTJ8+XQXUA86fP/9hYaGUUnk9ofWAe/TowalTp6hduyGjRs2lWLGCRnd53bkTateGwoUhUybQdfQ+JSQEsOZtbQdOtj5H7lFWROfNPHgwuLhAmTLw5AnkzKmV58wJT6MJ9P72LTRsqKXO7tcPHBwM8GCJjJhep86gZbSLLvVjIaNYlEA5d+4cDRs25N27d8yePZu+ffua/UvZ09OTPn364OjoyOLFi03uhmuplClThnPnonZuSmpeT0FBQfz666+6fOtZmT7dnebN25AypWna7ubN0KOH9ruzs7ZvZ/fxuPU1X7J0a0aygkcQIjsyXcwT118S8PjkSciVC+7cgdatoXhxKFgw7vUkZmLyevralIYkVMLCwpg+fTqjR48ma9asHD58mFKlSsV+oZHZu3cvHTp0oGrVqqxbt+6T4ZakjrkF3FLYs2cPvXv35tatW7Rq1Y0hQ6aSO3cWk7m8PnumTVz7+Wmx+0JDtZ8tW8KLF5+uuA4ITk2WLPD113D/Prx+DenSxVx/tmzw6JHWm3j0CKKLipMrl/azQAGoUgUuX1ZCERm9BmiFEJnRcv6mCi+TUh4yllEJhfv379O6dWuOHj1K06ZNWbBgATly5DC3WZw8eZKmTZtSvHhxtm3bRpo0acxtkkXh7+/PH3/8Ed3hnKa0xRw8efKEQYMGsXLlSgoVKsry5T7Url0bU0/X7NgBLVrA1Kkfy1q00LyTHt17h3/zXmRNLjg3+whXBqWjVClInRratYPRo2HKFEiRQhOBI0e0ayNibw+entpwkqcnNGjwuQ3Pn2t1pkypCdepU9Cnj3GfOyGiT87s7sAhtPSOv+h+jjOuWZbP4cOHsbW15cKFCyxatIiNGzdahEj8888/NGzYkBw5crBr1y4yZzZLIFSLJjQ0lNevX/Pq1avPNhKxg4eUkpUrV1K8eHHc3d1xdR3Ftm0XsLMzvUiANnkdeSlPo0awdfVLVgW3oNurGZTJ8D+6/1aY6dO1qKoAQ4dqvYM6daBuXejW7WNvYfBguKBbHty3Lxw6pLm4Hjqk7YN2PDxx4/Xr2j3t7LQJ7379oKguEd7ixVC+PDx4oB03QrLHBEO0YcY/nCDEJaAicFxKaSuEKA78IqVsYwoDI2PuUMwhISGMHDmSqVOnkj9/fnbu3EmJEiXMZk9E7t+/T9WqVXn79i1///03hQsXNrdJFkm5cuU+ybgXkfiEYo4vxmzbt27dolevXuzdu5dy5aowbtxCbG2/NZo3U7x4/56Mo3/gdfcfk1xYDksNM67Pe0SwLmIsQoiUUsqrQoik9d/TIaXExcUFDw8PevTowR9//EG62AZKTURAQAAODg4EBARw8OBBJRIxENvLUWLjyZMnVK1alcDAIMaOnUvHjqbNNqcv1tf/ISxzVsKy5eDFZLOku1FEgz5CcU8IkQnYDOwRQgQA/xnXLMvEzc0NDw8Pxo0bx9ixY81tzgeCgoJwcnLCz88PLy8vypZNkh6eerNv3z5zm2AypJS4urry7Nkz1q49RaVKZSwy6Zv1NV+ytqpDSInSPPWIYvWbwqzEKhRSyma6X8cJIXzQwo97G9UqC+T06dMMGjQIR0dHRo8ebW5zPvD+/XtatWrFsWPH8PDwwC6ib6EiSrJkSTrZTj08PFi/fj2DBk2iYkXLFgmSJeP5hDnmNkcRBfpMZq8M/11KeVBKuZVPM9/FdK2DEMJPCHFDCPFzDOe1FEJIIYRZxoZjIyAggPbt25MjRw6WL19uMesRwsLC6Nq1K15eXsybN49W4ctQFUYnIbTt//77j759+1KuXGV69hxsnnwRsRBRJFQ+CctFn6GnTxYFCCGsgPKxXaQ7zw2oD9wDTgkhtkopfSOdlx74ATihr9GmJHxe4vbt2+zZs8dkKUpjQ0rJDz/8wKpVq5gwYQI9e/Y0t0lJhoTQtqWUdOvWjeDgYH77bQXp01tmqJKMI/ookUgARPuOIYQYLoR4BZQWQrwUQrzS7fsDsURlAaAScEMXffYd4AE4R3HeeGAqEBx3843PihUr2LFjB9OmTaNWLcuJe//rr7/i5ubGkCFDGDFihLnNSWpYfNtesGABO3fu5KefplKqVBFT315vAtzcebL+oBIJCydaoZBSTpJSpgemSSkzSCnT67asUkp9IsvlAf6NsH9PV/YBIURZIJ+UcntMFQkhegohTgshTj9+/FiPWxsGT09PunXrRuXKlekb7oRtAcydO5dx48bRpUsXpkyZolYamx6LbtsrVqygT58+VK9en86d+1jckJP1NV8yjugLISGE5fyK0MJFzW2SIhb0yUcxXAjRRAgxXbc11rPu6GJEaQe13Nt/ArEmA5BSLpRSVpBSVshuDAfjqO/JyJEjKVq0KLt27bKYKKPu7u7069cPJycnFixYoETCPFh02547dy7Fitkwd+5mUqe2LJUIn5NI5b0Rq4f3zW2OQk/0mcyeBAwAfHXbAF1ZbNwDIoZOzcunbrXpgW+BA0KI20BlYKulTGh7e3tz/fp1hg8f/iHSqLnZvXs3nTp1okaNGqxdu1bFbzIfFtu2nz59ytmzZ6lRoyFZs1pW6JaIE9dPPX0IzVvA3CYp9ESf12RHwFZKGQYghFgOnANiG346BRQRQnwN3AfaAu3DD0opXwDZwveFEAeAwVJK8y271vHw4UP69u1L4cKFadPGLAvQP+PEiRM0b96cEiVKsHXrVlKnTm1uk5IyFtu2x44dy/v372nSxMXYt4oTkUUi5Jvi5jZJEQf07ZdGzLqTUZ8LpJQhQD+02FD/AOuklFeEEL8KIaJIM2IZPHjwADs7O/z9/VmzZg0pUqQwt0n4+vrSsGFDcubMyc6dO8mYUa9/gcJIWGrbnj17Nm5ubnTu/COlS5s/gnFExIvnyPQZlUgkUPSJ9dQOmAz4oI3N1gRGSCndjW/e5xgzHk5QUBA1atTAz8+Pbdu2UadOHaPcJy7cuXOH6tWrExISwtGjR/n6axX93Zgk1FhPW7dupVmzZtjZNWHOnPWkTWsZQZzEi+fIjLr3zJAQzBJ9MAFhqbGe9JnMdkcbY92o26qYSySMiZSS7t27c/bsWdasWWMRIuHv74+9vT2vXr3C29tbiYQiSk6dOkXbtm2xsSnP9OmrLUYkrK/5kqNWcdKsWqgrUCKRUIn1PyeE2CelrAdsjaIsUSClZMSIEbi7uzN+/HiaRJWA18Q8f/6cBg0a8O+//7Jnzx5sbW3NbZLCArl9+zZOTk5kz56LuXO3WcwEdsQ5iXeVa5rbHEU8iSlndiogDZBNl7go3CUwA5DbBLaZjFGjRjF58mR69OjByJEjzW0OQUFBNG7cmCtXrrBt2zaqVatmbpMUFkhAQACNGjUiOPgtS5YcoGBBy8i5pCauEx8x9Sh6AT+iicIZPgrFS7TwBYmC1atX89tvv9GjRw+LWJcQOchfg6jScimSPG/fvqV58+bcuHGDv/7aQ5kylvFlLF4819KXKpFIVMSUM3smMFMI0V9KOduENpmMI0eO0L17d6pXr87cuXPNLhJhYWF0794dLy8vFixYoIL8KaIkfD7twIEDTJ26irp1a1lMVFiZMROvhozn3Xc1lEgkIvSZzE5wIhExl5CXFxQpAnfvaknca9cGW1soXPgtdna3KFCgABs3bvxk5fXOnVCsGHzzDUyeHPU9/vgDSpaE0qWhXj24c0cr9/HR6g/fUqWCzZu1Y1LCyJFaqsUSJWDWrI/1HTgAuXI9YMWKoRQocFsF+VNEy9ixY1m1ahU//jiBNm06WESIDutrvqQ49TcAQR16KJFIZCRqN4R9+6B/f9i9G/Ln15KrDxwItrZ3+O6770ibtjjbtm0jYuiE0FAtt+6ePZA3L1SsCE2aaKIQkbJl4fRpSJMG5s3T8viuXavl8T1/Xjvn2TNNbOzttf1ly+Dff+HqVUiWDPz9tfLnz6Ft26c8flyFfv2cGTVqFgpFVCxdupTx48fTqlU3fvhhhEU4EoXPScj0GfE/4Ku8mxIhMUWPrab7mdJ05hiOw4ehRw/YsQPCs4I+eACpUj3G3t6e4OBgDh1yo0iRTyNrnjypfbkXKgQpUkDbtloS+MjUqaOJBEDlynDv3ufnrF+vJY8PP2/ePBgzhg9vgDlyaD9//PEkjx7No2XL75gxYwY5c1rIOILCoti7dy89e/akevX6/PrrPFKmNH87iThx/WzZViUSiZSYOq3hr7XHTGGIIXn7FpydtSGf4hF6wK6uwTg6pubmzdm4uJwlTx5t9ep//0GjRto59+9DvghRfPLm1cpiYvFiTRAi4+EB7dp93L95U+t1VKignX/9Omzbto0VK46RJ48Njx6tpVIlK1as+MIHVyRaLl26RIsWLfjmmxLMmuVJhgzmj/OlvJuSDjHJ/3shxFIgjxDis7EQKeUPxjMrfiRPDlWral/gM2d+LD99ui+hoTvp1287d+8WonJluHABcufW5jJAm0eITEwThatWaUNQBw9+Wv7gAVy6pA13hfP2rTZncfo0bNwILVu+4Nq11mTLtpyvvmqMt3cy3ryBKlW0XkpRFX1ZgeYJ16JFC9KkSce8eTvImdMyQrikWTFPiUQSIaYeRWO0WDbBaO6xkTeLJVkyWLcOTp2C337Tyg4cOMCSJUsYPrwTs2eXZcsWrZd8+fKn1+bNq80jhHPvniYkUbF3L0ycCFu3QspIA3Tr1kGzZppoRay7RQvt96JFr3DxoiB//vz07NkIR0cr0qaFbNmgZk1NwBQKgDVr1nD9+nXGjJlHkSL5Yr/A2Ojepl6O+5Mn208okUgCxOQe+wTwEEL8I6VMcF9badLA9u1QowZkzx7GokVDyZy5HcOHjwHg4UN4+hTy5Pn0uooVtSGh//1PO+bhAWvWfDwe3uM4fx569dI8pMLnGiLi7g6TIgVjb9oU9u+HunVvU7v2WJInH8WuXbt48yYd/fppoXDevYMTJ7RJd4UiJCSEiRMnUqqULQ0aOJndDdb6mi8Zh7sSMNdDSzqUJ795DVKYBH1mnp4KITYB1dCSsxwBBkgpo5i+tSyyZNG+yMuXD+Lx469o0GAUFSqkIlUq7fi0aZArlzZH0b27NvxkbQ1z5mhDRqGh0LUrlCoFjx9r7q7/6bIOpEypTXa3bKkNTeXPr/UsAG7f1nolkTOn/vwztGr1FlfXt4SGDsXDIy0FCxYEwMFBc7VNlkyz5dtvTfInUlg4Bw8e5Pr16/z551pSpTKvSkSckxCvXkLOr8xqj8J06CMUS4E1QPjqr466svrGMiq+vH798fd8+aBoUQcyZ36Ml1fxKH3OI85RgDax3aiRNom9fPmncxQ+1AagztsDvH0LFy9q5fnzQ1iY9kVfsGDUE+DW1q95+bIeyZJdxMdnH1WrfvS4GjJE2xSKiHh7e5MiRQrq1XM0qx2fJR1SOa6TFPos1ckhpVwqpQzRbcsA0+QjNQD//PMPf//9N926dSNZHFcm5c2rLZALp2hRrZdQuxbcugX1I0jltm1gZaWJSufO8P79p3UFBwfTtGlTzpw5g4eHB1WrVv3yh1IkGY4ePYqNTUUyZUprNhusb1xV3k1JHH2+OR8LIToKIax0W0fgqbENMxSLFi0iefLkdO7cOcbzpNR6AeXLa1/2EXsRf/6pHffzAzFjBsyYwddfawv5pPx8DcXy5dqwlBDaSvDg4Pe0bt2a/fv3s3TpUpydnQ3+nIrEx7t37zh79iw2Nt9hZcbI4WGZshBSorQSiSSMPkNPXYE5aMniJXBUV2bxhISE4O7uTuPGjcmhm3EODNTmAP75Rz/PonfvPvVcIopw33nyfJzkDgwER8eP7rIHD4aROnVXYBsTJszFxcWyUlQqLJeLFy/y9u1bypT5ziz3t7r7P0Jz5SEsa3aeuu+O2U9ckajRJ9bTXSllEylldillDillUynlHVMYF1927tzJw4cPcXFxITBQW3GdLp3myRSTSFy5oglJWFgkkQDNJ3bv3mivTZtWi9skpZatKleuocAqYAKjRrkihDYBHhZmgAdUJGpOnDgBgK2t6YXC+pov2Zwqk3FUf61AiUSSJlGvt1+wYAG5cuWidu3GnwQKBM27aexYGDyYD15QejFhgvbTzi7WU2fPnsbDh7/Tp09f3r8fwaJFWvmGDXwYSrh8WfOqUigic/LkSbJnz0n+/KZ1QY04cR3Yc6ASCYVecxQJkgcPHuDl5UXnzp1p3Phjt0BKbXv/HkaNiqNIxIH58+czdOhQ2rZty+zZs1i4UCCl1pNwjODA8u232udw6VLj2KFIuJw4cQIbm0omjemkwnIooiLRCsWyZcsICwvDwaELR49qZVGF5zAGHh4euLq60rhxY5YvX/6Jt5UQ2kJAKWHlyo/XdO2qHTt+3DQ2KiybgIAA/Pz8KF36O9O90IeEkKVbMyUSis/QWyiEEJWFEPuFEH8LIZrqeY2DEMJPCHFDCPFzFMcHCSF8hRAXhRD7hBAF4mJ8dISFhbF48WJq1apFz55awKR9+wxRc+zs2rULFxcXatasiaenJylSpIj23I4dNcHYs0fLTwFanCchYMUK0wmbIm6Yol2fOnUKwLQT2dbWBMxaqURC8RkxhRnPFaloENAEcADGx1axEMIKLWVqQ6Ak0E4IESmrA+eAClLK0sB6YKr+pkfPwYMHuXnzJm3b9uDaNa2sbl1D1Bwzx48fp0WLFpQqVYqtW7eSSs9xLTs78PXVkiuFD0d36qQt3hMC+vTRVokrzI+p2vWJEycQQlCmTMX4mhwr1td8SbN0DkjJe9uKSiQUnxFTj2K+EGK0ECL82+450B5og5Y3OzYqATeklLeklO8AD+CTBQRSSh8pZZBu9ziQN07WR8OaNWtImzYtbm7NAfD0NEStOhYs0LZInD59GgcHB3LlyoW3tzcZM8Y9wme+fFqmvCdPIHXqj+Xz5mmT76lTw40b8TFeYQBM0q5PnDhB4cLFyZLFuJFiw+ck0s+aiHgeoCauFVESrVBIKZsC54HtQggX4EcgDEgD6DP0lAeIEIeVe7qy6OgGeEd1QAjRUwhxWghx+vHjxzHe9OXLl6xZswYnp1Zcvqx927ZsqYe1+lKsmLZF4OrVqzRs2JDMmTOzf/9+vvoqfjFwsmaFoCBt6CmiMAQHa2ldhdDiRqmhKbNgsHYNUbdtKSUnT56kdOnvPnfPNiCRJ65l5izGu5kiQRPjHIWUchvQAMgEbAT8pJSzpJQxf1trRPVqEuVXm261dwVgWjR2LJRSVpBSVoiYtjQqPD09CQoKwte3FwC7dulhaVzYtk3bdNy5cwc7OzusrKzYs2ePwV0ZCxf+6Kk1LcJfZ8qUj0NTOnd7hWkwWLuGqNv27du3efz4MaVLG29+Qnk3KeJCTHMUTYQQR4D9wGWgLdBMCOEuhCisR933gIjB8/MC/0VxHztgJNBESvk2LsZHxeLFi/nmm+JcvKh9yMLzVRuM33/XNsDf3x97e3sCAwPZvXs333zzjYFv9imDB2uCcfPmp+WVK2uCEZ57Q2FUjN6uwxfalS5d6cutjIXk506ClZUSCYVexNSjmIDWm2gBTJFSPpdSDgLGABP1qPsUUEQI8bUQIgWa0GyNeIIQoiywAO3D5P8lDxCRGzducOzYMR496g4Ijhkxievz589xcHDg33//Zfv27ZQuXdp4N4tEoUKaYISEfFz/B1oAQyG0MOkKo2H0dn3ixAlSpUpFiRI2BjH4E969A+BNm874H/JTIqHQi5iE4gXah6At8KGxSymvSynbxlaxlDIE6IeWJe8fYJ2U8ooQ4lchRBPdadOAdLKxorgAABJZSURBVICnEOK8EGJrNNXphYeHBwCvXmkR0StXjk9t0RMaFkaTJk24fPkyGzZsoFq1asa5USxYWWniIKUWzTac/v01wciXT8ujoTAcpmjXp06dolSp8qRNa9gJCutrvuSoVZwURw8AINOlN2j9isRLTCE8mgHtgPdo3k5xRkrpBXhFKhsT4ffY42DEAXd3dzJmrM6LF/k/yUpnSMKk5MqVKxwJCMDd3Z2GDRsa50Zx5OuvNcF49QoyZNDK7t37mH1v3Tpo1Sr66xX6Y+x2ff36dWrXdjZoxFjra75kbV0XhCA0h0o4pIgbMXk9PZFSzpZSzpdS6uMOa1auX7+Or68vL15o34bt2hn+Hm/evOHKlSs8e/aMBQsW0KZNG8PfJJ6kT8+HUCHDh38sb91a62WUKwdnz5rPPkXMBAUF4e/vT+7cBQ1WZ0SReOJ5QCUdUsSZRBPCY/v27brfGn8SGsNQhM9JOD59yt0JE+jRo4fhb2JAwie3pYQjRz6Wnzv3MefGjh3ms08RNXfuaIGZ8+QxSJACrO7fVSKhiDeJTChKAYXo0MGwdT98+JBatWpx7Ngxprq7833EtHcJgGrVNMF4+VJbvBdO48aaYGTMCE8TTCqqxM3t27cByJOnoEHqC82VhzfNOiiRUMSLRCEU/v7+HDhwAGhKzZqGXVx69epVqlatyo0bN9i+fTtthYC1aw13AxOSPj307q2JxqNHH8tfvoRs2bS/25Ur5rNP8bFHkS9fwXjVY339H5Ld/xesrHg59nclEop4kSiEwsvLi7CwMKCFQYedzp8/T61atQgKCsLHxwd7e3vtlTzia3kCJUeOjwv5evX6WB4e9jxtWhUuxBzcvn2b5MmTkyvXl084hy+my9yvvVq+rzAIiUIotGGn3IAthloYvXDhQipVqkTy5Mk5ePAglSoZb/GTuZk/X/s+CQ/HDloIkfBwITNmmM+2pMbt27fJk6cAKVJ82Ucz4sT1i2mLVOwmhUFI8ELx5s0bvLx2Ak1wcjLMh+L333+nV69e2NnZcebMGYoVSxrd9ipVPi7k++WXj+UDdUnOhNDiTSmMx+3/t3fmUVZU+R3//LrZl8FhCQ6MCDpyCLg0QiaB6NgEzgwCjtLKlvEgE7V1ICFNwqDjnBAxx4PIRCLHHhaPyoQdGVp6CJBolHVsiSKbbMGROaBsRpYzCL3+8setnn687n5d3V31ql/373NOna66det+b73+vfere2/d3z1+nG7detbp1dhYJ2Ezro0gSXlH8fbbb3PlymUgiyVL6l/eiy++yPTp0xk7dizr16+na9eu9S80xUhPh5kzndPwlkX4I61bO4dxzz3w/vvWsxE0rkXRs04NgW8894/mJIxQSHlHsW5dHtAByKRjPYJfqirPPPMMTz31FOPHj2f58uU0DzN0Z4owcGDFvIzYhtW2bTB4cEVgwtjtvvtsfKMulJWVcebMmTq/8XR+/jK+XLvVnIQROCntKEpKSsjL+w0wiuefr/uPuqoybdo0Zs+eTXZ2NsuWLaNZs2omra9d67YmhggcPlwx+3vs2OrzbthQMb5R3Xb33ZCZCdnZFY6oqVPkxWGqjaNodvQg1037MRQWoh07UXpz75BqZzRlUtpRvPvuu1y69H/AQ+Tk1K0MVSUnJ4eXX36ZnJwcFi5cSHqiDuLOnd3WhGnXzr0hXP7WVPlWUgKHDkHPnjWXsWMHbN0Kr77qWiXp6dU7lYMHm0YXV20dRfmYRMstm0k/UymArWEERko7ipUrfw20o1+/4bRpU/vrS0tLeeyxx5g/fz7Tpk3jpZdeQmrqHF6yhEAGQxoh6enQpw989lllJ6IKFy7AlClumddXXoEhQ/yV269f1V1cmzeHez/JprDQRSP3M4eiUliOHr1Crp3RlEkUFLBBo6qsW/cfwHCee87f2tSxFBcXM3HiRFatWsXMmTN59tlna3YSUOEkJk2qtWZTp0OHa0OgT5mSOP/Fi65raudO+Pzzyudj4zGWlBBoEL0oKCoq8jWHwmI3GckmZVsUu3fv5tKlz4GRjB5du2uLioqYMGECq1atYs6cOcyaNcufkzCSSocOrovr5MmKVklpqQudHr/abLNm18a0SkUKCwvp1q1HjXMopPAqZR07m5MwkkbKtihWrMgD0hgwYGStXiUsKipizJgx5OfnM2/ePHLqOrhhREJamhsi+sLrki8rc2MmV664AfK2bV3cqpYto61nXSgqKqJ79+rnUKR99SVlHTtTfNudnHtnn/swDCMJpKylvfFGHvA9Fi1KvIZ2LFeuXGH06NHk5+eTm5trTqIRkJbmZpGXL9x0+TK0agUvvJB6b1K5FkXVcyiaHT1IlyH9aLt4nkswJ2EkkZS0tmPHjnH+/EFgNHfe6e+aU6dOMXToUDZt2sSiRYuYPHlyqHU0kkv5wk2zZ7vjn/3MjVnk5UVbr9pQUlJS5RtP5bGbSEvj6l+NSH7FjCZPSjqKBQveAuCRR37oq9tp06ZNDBgwgD179rB27Vqys7PrLr5xo9uMBsnTT7tuqKFD3XFWlntD6uLFaOvll3hHEeskbEzCiIqUdBRvvrkeuINZs3omzHfo0CHuvfdeRowYQfv27SkoKCArK6t+4m3aUKd3cY2k0aoVvPMOfPppRdp118G4cc6JNGRiHYVc/gOdxg8zJ2FETso5iuLiEk6c2EnHjg9wYzWLgJ09e5apU6dy2223UVBQwNy5c9m/fz+33357/Svwy1+6zWjw3HSTG6e46y53vGaN8/Hr1kVbr0TEzqHQtu249E+/MCdhRE7KOYqzZy8AyqBBD1Q6d/nyZebOnUvv3r3Jzc3l8ccf5+jRo0yfPp0WLVoEU4E1a9xmpAQisH27G7+YMcOlPfigS/cWk2swiAjXX/8tmh09SMttbwNwZfRfm5MwIidURyEiw0XkiIgcE5GnqzjfUkRWe+c/EJGeNZV5+vQFoAdvvHHHH9P27t3LlClT6N69OzNmzGDw4MHs37+fBQsW0KWL/7eijMbNnDlw6lTFca9e0KOHm6xXW8Kw7ebNW9D290foNGYIHWZkgxfSwzCiJjRHISLpQC5wL9AXmCAifeOyPQqcV9XvAPOAOTWXfAl4kHbtrrJ06VIGDRpERkYGr732GqNGjWLnzp1s3LiRvn3jpQwDrr/etS7K19s4cQKaN4ctW/yXEZZtt0tvRtcJbuD6q2WbIKhWsGHUkzBbFN8Fjqnq71S1CFgF3B+X537gV97+WmCo1DhFWhk48Pd0796diRMncu7cOebNm8cXX3zBsmXLGDx4cMC3YTRGytfbKH9LesgQN3HPJ6HYdo+rX0Namq0nYTQ4wpyZ3R04EXN8Evjz6vKoaomIXAQ6AV8mKnjv3t+QlZXFE088QWZmpoXfMOpMbq6LJ5WR4Sbr+SQc2xbh9Ir3KLmxDxT7rovRiCgtjboGVROmo6jq1zs+WLSfPIhINlA++aGwuLj4wOrVq1m9enU9q1hrOlP+RU+uc6rQTS5R6Uap7WfkOCzbLvr2sDsO+9APmNKOkP5V8nWj1G7IuqWlUBpGXIE6vxURpqM4CdwQc/xtID5ofnmekyLSDLdUXaUPUVUXA4sBRORDVR0YSo1rICrtpqYbpbaIfOgjW4i2XRjR/7kkwv9z8rWbmm65dl2vDXOM4n+AW0Skl4i0AMYD+XF58oFHvP2HgHdVm8ISNUaKY7ZtNClCa1F4/bJ/C/wnkA68rqqfiMhzwIeqmg+8BiwVkWO4p63xYdXHMILCbNtoaoQaZlxVNwIb49JmxuxfBcbUstjFAVStrkSl3dR0o9T2pdvIbNv+z41ft17aYq1hwzAMIxEpF8LDMAzDSC4N1lGEESIhIN1/EJGDIrJPRP5bRKoJTRi8dky+h0RERSSQtyf86IrIWO++PxGRFUHo+tEWkR4i8p6IfOx95vVekEFEXheRsyJyoJrzIiLzvTrtExGfq5740o7Ern1qh2LbUdm1X+0wbDsKu/bKDce2VbXBbbgBwk+Bm4AWwF6gb1yeycBCb388sDpJukOANt7+T4LQ9avt5WsPbAMKgIFJuudbgI+Bb3rHf5LE//Ni4Cfefl/geAC63wPuBA5Uc34EsAk3F+IvgA9S2a6jtO2o7DpK247KrsO07Ybaoggp/Ef9dVX1PVX92jsswL1DHwR+7hngX4AXgatJ1H0cyFXV8wCqejaJ2gp8w9vvQOX5CrVGVbdRxZyGGO4H/l0dBcB1IvKt+uoSnV370g7JtqOya7/aYdh2JHYN4dl2Q3UUVYVI6F5dHlUtAcpDJIStG8ujOO8cBDVqi0h/4AZV3RCQpi9doDfQW0R2ikiBiAxPovazwMMichL3ltHfBaRd33qFVW4Ydu1XO5agbDsqu/alTTi23VDtGupo26G+HlsPAguREIKuyyjyMDAQuKeemr60RSQNF4V0UkB6vnQ9muGa6Jm4p8ztInKrql5IgvYEYImq/quIDMLNTbhVVcMIcVCbeoVVbpTaLmOwth2VXdeo7RGGbTdUu/Zbt0o01BZFbUIkIAlCJISgi4gMA34O/FBVC+up6Ve7PXArsEVEjuP6F/MDGPjz+1mvV9ViVf0MOIL7ctUXP9qPAmsAVPV9oBUuDlSY+LKDkMoNw679aodh21HZtR/t8jxB23ZDtWu/datMEAMoQW84L/87oBcVg0H94vJM4dpBvzVJ0u2PG6i6Jdn3HJd/C8EMZvu55+HAr7z9zrima6ckaW8CJnn7f+oZtQSg3ZPqB/xGcu2A365UtusobTsqu47StqO067BsOxBjCGPDjc4f9Qz3517ac7gnHXAe+E3gGLALuClJuu8AZ4A93pafrHuOyxvkF6qmexbgJeAgsB8Yn8T/c19gp/dl2wN8PwDNlcApXDDvk7inuyeBJ2PuN9er0/6gPuco7TpK247KrqO07SjsOkzbtpnZhmEYRkIa6hiFYRiG0UAwR2EYhmEkxByFYRiGkRBzFIZhGEZCzFEYhmEYCTFHEQAi0kVEdojIARF5ICZ9vYh0q0NZH3hRJe8OvrY16h8XkYQTf0Tkmbjj34ZbK6OpISKlIrInZuspIpkictH7bhwSkX/28samHxaRX0Rd/8aGOYpgmIAL5DYI+CmAiNwH7FbV2s7oHQocVtX+qro92GoGxjWOQlUHR1URo9FyRVUzYrbjXvp2Ve2PCzHysIgMiEvvD4wSkb+MoM6NFnMUwVAMtAZaAmVe6IUcYG51F4jIjV7M//LY/z1EJAMXQXOE9xTVOu6a4yIyR0R2edt3qivLS18iIgtFZLuIHBWRUV76JBF5JabcDSKSWUUd3xKRj7w4/dle2gtAa69+y720P3h/RUTmei2r/SIyzkvPFJEtIrLWe+JbHlBEVKOJoqqXgY+Am+PSr+AmsAURxNHwMEcRDCuAHwCbcVEhJ+NC+X6d4JpXvDy3A8uB+aq6B5iJWwcgwzP6eC6p6ne96/+turJi8vfEBXcbCSwUkVa1uK+/UdUBuKe3qSLSSVWfpuJp70dx+bOADOAOYBgwNyaEcX+c8+yLi9NvT3xGIsofRvaISF78SRHphAtB8Ulc+jdxsZq2JaeaTQNzFAGgqhdVdaSqDgR2A6OAX4vIq95T9KAqLhuEczAAS4G7fMqtjPlbXm6istaoapmq/i8u/kwfnzrgnMNe3NoEN1BzsLS7gJWqWqqqZ4CtwJ9553ap6kl10TH34ByYYVRHbNfT6Jj0u0XkY+C/gBdU9ZOY9H3AaWCDqp5OdoUbMw01zHgqMxN4Hjdu8RHuB3w9bvWwRPiNpaLV7PvNo0AJ1z4kVGpleF1Rw4BBqvq1iGypKl/8ZQnOxUYiLcVsz6gb21V1VHXpItIb2CEieV4L3QgAa1EEiIjcAnRT1a1AG6AM98Nc1Q/sb3HRQQF+BOzwKTMu5u/7PsoaIyJpInIzrsvnCHAcyPDSb8CtyBVPB+C85yT64Jr55RSLSPMqrtkGjBORdBHpgluWcZfP+zKMeqOqR4HZwFNR16UxYU91wfI8LpY/uK6ht4C/x7Uy4pkKvC4iPwXOAT/2qdFSRD7AOfkJPso6gusC6oqLIHlVRHYCn+GiRx7AdZfFsxl40mvOH8F1P5WzGNgnIrvjxinycN1ge3EOcoaqnvYcjWEki4XAdBHppW6NCaOeWPTYFMJb2GWgqn7pM/8SXH/t2jDrZRhG48a6ngzDMIyEWIvCMAzDSIi1KAzDMIyEmKMwDMMwEmKOwjAMw0iIOQrDMAwjIeYoDMMwjISYozAMwzAS8v/dxMeChvyOoAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#画出决策树的ROC和KS曲线\n",
    "test_perf = perf_eva(y_test, test_pred_tree, title = \"tree-test\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "E:\\studyingPy\\C_card\\lending_club\\perf.py:38: FutureWarning: Sorting because non-concatenation axis is not aligned. A future version\n",
      "of pandas will change to not sort by default.\n",
      "\n",
      "To accept the future behavior, pass 'sort=True'.\n",
      "\n",
      "To retain the current behavior and silence the warning, pass sort=False\n",
      "\n",
      "  ], ignore_index=True)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#画出梯度提升树证集的ROC和KS曲线\n",
    "test_perf = perf_eva(y_test, test_pred_GBDT, title = \"GBDT-test\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "63532"
      ]
     },
     "execution_count": 125,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "63532"
      ]
     },
     "execution_count": 126,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(test_pred_lr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {},
   "outputs": [],
   "source": [
    "#自行定义cutoff值\n",
    "cutoff = sum(test_pred_lr)/len(test_pred_lr)\n",
    "y_pred = [*map(lambda x:0 if x< cutoff else 1,test_pred_lr)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy : 0.756\n",
      "Recall :0.6447\n",
      "AUC Score (Testing): 0.715549\n"
     ]
    }
   ],
   "source": [
    "#获得逻辑回归的预测效果\n",
    "import pandas as pd\n",
    "from sklearn import ensemble,cross_validation, metrics\n",
    "#y_pred = lr.predict(X_test[important_feature[1:]])\n",
    "Acc = metrics.accuracy_score(y_test, y_pred)\n",
    "Rec = metrics.recall_score(y_test, y_pred)\n",
    "print( \"Accuracy : %.4g\" % Acc)\n",
    "print(\"Recall :%.4g\" % Rec)\n",
    "print (\"AUC Score (Testing): %f\" % metrics.roc_auc_score(y_test, y_pred))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy : 0.8058\n",
      "Recall :0.171\n",
      "AUC Score (Testing): 0.651069\n"
     ]
    }
   ],
   "source": [
    "#获得决策树的预测效果\n",
    "y_pred = tree.predict(X_test[important_feature[1:]])\n",
    "Acc = metrics.accuracy_score(y_test, y_pred)\n",
    "Rec = metrics.recall_score(y_test, y_pred)\n",
    "print( \"Accuracy : %.4g\" % Acc)\n",
    "print(\"Recall :%.4g\" % Rec)\n",
    "print (\"AUC Score (Testing): %f\" % metrics.roc_auc_score(y_test, test_pred_tree))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy : 0.7921\n",
      "Recall :0.04294\n",
      "AUC Score (Testing): 0.752735\n"
     ]
    }
   ],
   "source": [
    "#获得梯度提升树的预测效果\n",
    "y_pred = GBDT.predict(X_test[important_feature[1:]])\n",
    "Acc = metrics.accuracy_score(y_test, y_pred)\n",
    "Rec = metrics.recall_score(y_test, y_pred)\n",
    "print( \"Accuracy : %.4g\" % Acc)\n",
    "print(\"Recall :%.4g\" % Rec)\n",
    "print (\"AUC Score (Testing): %f\" % metrics.roc_auc_score(y_test, test_pred_GBDT))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_pred = test_pred_lr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:1: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \"\"\"Entry point for launching an IPython kernel.\n"
     ]
    }
   ],
   "source": [
    "test[\"Prob_for_Bad\"]=test_pred"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(63532, 39)"
      ]
     },
     "execution_count": 118,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [],
   "source": [
    "result = test[['ID_NO_IDENT','Prob_for_Bad']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [],
   "source": [
    "result.to_csv(\"result.csv\",index)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
